Nginx ssl證書部署


查看當前安裝的OpenSSL版本所支持的密碼列表,可以使用下列命令:openssl ciphers

蘋果ATS檢測:https://www.qcloud.com/product/ssl 剛開始"PFS(完全正向保密)"這一項未成功通過,升級Nginx版本后才通過了

具體配置方法:https://www.qcloud.com/document/product/400/6973

Nginx 證書加密套件配置:

更新Nginx根目錄下 conf/nginx.conf 文件如下:

server { ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; }

--------------------------------------------------------------------------------------------------------

Nginx 配置支持HTTPS

vim nginx.conf

復制代碼
server {
    listen 80;
    listen 443 ssl;
    server_name  *.*.com
    ...
#ssl on; #在同一個server{}里配置同時開啟http和https時,不需要開啟此項! ssl_certificate /data/mysite/htdocs/server.pem; ssl_certificate_key /data/mysite/htdocs/server.key; ... }
復制代碼

http 與https並存 

nginx配置https的官網鏈接:http://nginx.org/en/docs/http/configuring_https_servers.html

--------------------------------------------------------------------------------------------------------

Nginx證書部署
一、 獲取pem格式的證書公私鑰
1.使用mpki方式申請證書的。
首先登錄mpki系統:https://mpki.trustasia.com。然后下載證書



訂單密碼:下訂單時候設置的密碼
證書密碼:解壓密碼(下載下來的是證書的zip的壓縮文件)
證書格式:pem for nginx

解壓后會獲得兩個文件:cer后綴的是證書公鑰(此文件可以改名為server.pem),key后綴的是私鑰(可以改名為server.key)


2.非mpki方式
這種方式私鑰key是自行生成的(可以改名為server.key)。
證書公鑰可以這樣提取:

收到證書頒發郵件,郵件里有證書 和 證書鏈 兩部分。把代碼部分(包含-----BEGIN CERITIFICATE-----到-----END CERITIFICATE-----)一起復制保存到一個新的文本文檔中,順序是證書代碼在前面,證書鏈代碼在后面,這樣新的文本文檔里有兩段甚至多段證書代碼。新的文本文檔名可以叫做server.pem


二、 在nginx里部署證書及優化配置ssl
到nginx的conf目錄,找到nginx.conf文件,修改或者配置這樣一段
server {
        listen       443;
        server_name  www.trustasia.com #你們的域名,如www.abc.com;
        ssl                on;
        ssl_certificate      /xxx/xxx/server.pem;
        ssl_certificate_key   /xxx/xxx/server.key;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#按照這個加密套件配

        location / {
            root   html; #站點目錄
            index  index.html index.htm;
        }
}


下面為配置文件參數說明:
listen       443
SSL訪問端口號為443

ssl       on
啟用SSL功能

ssl_certificate
證書文件server.pem

ssl_certificate_key
私鑰文件server.pem

ssl_protocols
使用的協議

ssl_ciphers
配置加密套件,寫法遵循openssl標准

配置完成后,先用bin/nginx –t來測試下配置是否有誤,正確無誤的話,建議重啟nginx。(不是reload


三、 使用全站加密,http自動跳轉https(可選)
對於用戶,不是不知道https,就是知道https也因為懶,不願意輸入https。這樣就有一個需求,讓服務器自動把http的請求重定向到https。

在服務器這邊的話配置的話,可以在頁面里加js腳本,也可以在后端程序里寫重定向,當然也可以在web服務器來實現跳轉。Nginx是支持rewrite的(只要在編譯的時候沒有去掉pcre)

在http的server里
增加rewrite   ^(.*) https://$host$1 permanent;

這樣就可以實現80進來的請求,重定向為https了。

 


免責聲明!

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



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