按照騰訊雲要求獲取ssl證書。
nginx模塊開啓ssl.
- 確保nginx安裝了ssl模塊,否則啓動會報錯
nginx: [emerg] unknown directive "ssl"
,具體安裝參考
- 將在騰訊雲獲取的nginx證書(根據服務器不同會生成不同的ssl文件,這裏選擇nginx),放在nginx的某個目錄下,筆者跟conf文件夾平級建了cert文件夾。
- 配置
nginx.conf
文件
server {
listen 80;
listen 443 ssl; //同時支持https和http要這樣寫,注意不能用 ssl on
server_name www.domain.cn;//監聽的域名
ssl_certificate ../cert/1_www.domain.cn_bundle.crt;//獲取到的crt文件
ssl_certificate_key ../cert/2_www.domain.cn.key;//ssl的key
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
ssl_prefer_server_ciphers on;
}
- 測試一下,看配置文件是否正確,
/usr/local/nginx/sbin/nginx -t
。若配置無誤,顯示成功。
- 重啓nginx,如無意外,網站目前支持https和http同時訪問。
若https不能訪問,從以下排查原因
- 若使用了阿里雲的ecs,則需要把80和443端口暴露出來。可以telnet 測試,
- 檢查本機防火牆,是否開啓。
- 檢查443端口是否監聽,若沒有監聽,則將nginx關閉
/usr/local/nginx/sbin/nginx -stop
,然後重新開啓/usr/local/nginx/sbin/nginx
。注意不要nginx -s reload
-