Nginx 配置SSL證書
阿新 • • 發佈:2021-11-01
# Nginx 如何新增對SSL的支援 # 需要安裝 --with-http-ssl-module模組 # ssl指令:該指令用來在指定的伺服器開啟HTTPS,可以使用listen 443 ssl來開啟 # 語法:ssl on | off; # 預設:off # 位置 http、server server { lsten 443 ssl; } # ssl_certificate指令:為當前這個虛擬主機指定一個帶有PEM格式證書的證書。 # 語法:ssl_ceritificate file; # 預設:無 # 位置 http、server ssl_ceritificate www.sohu.com.pem;# ssl_certificate_key指令:為pem指定secret_key檔案路勁。 # 語法:ssl_certificate_key file; # 預設:無 # 位置 http、server ssl_ceritificate www.sohu.com.key; # ssl_session_cache指令:該指令用來配置用於SSL回話的快取 # 語法: ssl_session_cache off | none | [builtin[:size]] [shared:name:size] # 預設:none # 位置 http、server # off:禁用回話魂村,客戶端不得重複使用會話# none:禁止使用會話快取,客戶端可以重複使用,但是並沒有在快取中儲存會話引數。 # builtin:內建OpenSSL快取,僅在一個工作程序中使用 # shared:所有工作程序之間共享快取,快取的相關資訊用name和size來指定 ssl_session_cache none; # ssl_session_timeout:開啟SSL會話功能後,設定客戶端能夠反覆使用儲存在快取中的會話引數時間。 # 語法:ssl_session_timeout time; # 預設:5m //也就是5分鐘 # 位置 http、server ssl_session_timeout 5m; # ssl_ciphers:支出允許的密碼,密碼指定為OpenSSL指定的密碼格式。# 語法:ssl_ciphers ciphers; # 預設值:ssl_ciphers HIGH:!aNULL:!MD5; # 位置 http、server ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers:該指令指定是否伺服器密碼優先客戶端密碼 # 語法:ssl_prefer_server_ciphers on | off # 預設:off # 位置 http、server ssl_prefer_server_ciphers off # SSL證書來源 # 1.去阿里雲或者騰訊雲或者其他證書機構購買或者申請SSL證書。 # 2.用OpenSSL去自己製作SSL證書 # OpenSSL生成證書的命令 mkdir /root/cert cd /root/cert openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -singnkey server.key -out server.crt # 如何配置剛生成的SSL證書 server { listen 443 ssl; server_name localhost; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html; } } # 再次重啟的時候瀏覽器還是會報錯,是因為我們自己生成的證書是沒有認證機構的。要不報錯就必須從認證機構哪裡獲得證書。