打造最強NGINX HTTPS


SSL LABS 檢測

 

完整配置如下

server {
        listen       443 ssl;
        server_name xxx.xxxke.com;
        ssl on;
        ssl_certificate      /xxx/pemcrt/vcert.pem;
        ssl_certificate_key  /xxx/pemcrt/vcert.key;
        ssl_dhparam /xxx/pemcrt/dhparam.pem;
        ssl_session_cache    shared:SSL:10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 10m;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /pemcrt/ca-bundles.pem;
        resolver 8.8.8.8 8.8.4.4  valid=300s;
        resolver_timeout 10s;
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
   location / {
        root   /app/nginx/www;
        index  index.html index.php;
        }
}
listen 監聽 443 端口,加上ssl參數;
server_name 當一個主機多個域名時很重要,可以做域名虛擬主機;
SSL 開啟ssl
ssl_certificate 證書
ssl_certificate_key 密鑰
sl_dhparam
執行 openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 生成dhparam.pem 后加入改行配置
ssl_session_cache重用加密的會話,通過每個連接給出的唯一標識,服務器知道一個進來的連接是否已經在之前創建過,如果服務器在會話中也已經有會話key,它就能重用。Session ID需要服務器保存會話狀態如會話key等,這樣下次連接才能復用,這就需要服務器保存很多狀態信息,耗費了大量內存Session ID共享復用在nginx可以通過ssl_session_cache設置。
ssl_protocols 開啟TLS 版本,注意不要開啟 SSL2 SSL3
ssl_ciphersNginx SSL算法,一定要禁用nginx默認的DH算法(譯注:Diffie-Hellman key exchange algorithm)是影響SSL性能的最大因素。
ssl_prefer_server_ciphers 和上述配合。
開啟 ocsp
ssl_stapling on  ssl_stapling_verify ssl_trusted_certificate
OCSP(Online Certificate Status Protocol)的中文翻譯是在線證書狀態協議,它是用來檢查證書是否有效的。雖然證書一般是有效的,但也可能被撤銷,這時就需要實時查詢證書的狀態,以確保它有效。這個查詢如果讓瀏覽器去做,就比較浪費時間,而 OCSP stapling 技術則是讓服務器自己查出來,再把狀態信息(無法偽造)返回給瀏覽器,以加快驗證過程。有三層證書,分別是:
StartCom Certification Authority
StartCom Class 1 DV Server CA
keakon.net
 其中,第三個證書已經提供給 nginx 了,而前兩個還需要自己下載回來,合並成一個:
cat ca.crt sca.server1.crt > ca-bundles.pem 或者直接notpad++ 操作   

 


免責聲明!

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



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