Nginx配置HTTPS證書


1.購買HTTPS證書

我是在美橙互聯上購買的Comodo Positive SSL證書,300+RMB一年,購買成功后在管理界面點擊獲取私鑰到郵箱。

2.保存私鑰到example_com.key文件

會收到一封包含以下內容的郵件,將包含分割線注釋在內的所有文本復制到記事本保存為example_com.key文件。

-----BEGIN RSA PRIVATE KEY-----
xxxx...
-----END RSA PRIVATE KEY-----

3.將ca證書生成ssl-bundle.crt文件

還有一封郵件很重要,內容包含了網址鏈接和驗證碼(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文件,命令如下:

cat www_example_com.crt SectigoRSADomainValidationSecureServerCA.crt  USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt

4.上傳ssl-bundle.crt和example_com.key文件

將ssl-bundle.crt和example_com.key文件上傳到服務器,保存到如下位置(注意將example_com替換為你自己的域名)

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/

5.配置Nginx

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;
    #...
}

6.強制HTTP跳轉到HTTPS

如果需要強制非https訪問也跳轉至https訪問,那么需要在原來的server節點當中增加如下內容:
rewrite ^(.*)$ https://$host$1 permanent;

7.重啟nginx令配置文件生效

按照上述配置信息修改nginx配置文件后,需要重啟nginx令配置文件生效
nginx -s reload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM