# 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; } } # 再次重啟的時候瀏覽器還是會報錯,是因為我們自己生成的證書是沒有認證機構的。要不報錯就必須從認證機構哪里獲得證書。