我是在美橙互聯上購買的Comodo Positive SSL證書,300+RMB一年,購買成功後在管理界面點擊獲取私鑰到郵箱。nginx
會收到一封包含如下內容的郵件,將包含分割線註釋在內的全部文本複製到記事本保存爲example_com.key文件。服務器
-----BEGIN RSA PRIVATE KEY----- xxxx... -----END RSA PRIVATE KEY-----
還有一封郵件很重要,內容包含了網址連接和驗證碼(Validation Code),到該網址所在的網頁輸入驗證碼,稍後會收到一封包含證書附件的郵件,附件名是域名.zip。該zip文件主要包含如下內容:
Root CA Certificate – AddTrustExternalCARoot.crt
Intermediate CA Certificate – USERTrustRSAAddTrustCA.crt
Intermediate CA Certificate – SectigoRSADomainValidationSecureServerCA.crt
Your PositiveSSL Certificate – www_example_com.crt (or the subdomain you gave them)
這些證書不能直接配置到nginx中,須要先使用cat命令按照順序組成ssl-bundle.crt文件,命令以下:dom
cat www_example_com.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
將ssl-bundle.crt和example_com.key文件上傳到服務器,保存到以下位置(注意將example_com替換爲你本身的域名)code
mkdir -p /etc/nginx/ssl/example_com/ mv ssl-bundle.crt /etc/nginx/ssl/example_com/ mv example_com.key /etc/nginx/ssl/example_com/
server { #ssl參數 listen 443 ssl; server_name example.com; #證書文件 ssl_certificate /etc/nginx/ssl/example_com/ssl-bundle.crt; #私鑰文件 ssl_certificate_key /etc/nginx/ssl/example_com/example_com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; #... }
若是須要強制非https訪問也跳轉至https訪問,那麼須要在原來的server節點當中增長以下內容:
rewrite ^(.*)$ https://$host$1 permanent;
server
按照上述配置信息修改nginx配置文件後,須要重啓nginx令配置文件生效
nginx -s reload
ip