by Devin Yang

建立於: 6年前 ( 更新: 6年前 )

本文介紹如何調整nginx的ssl設定,讓網站取得SSL報告,取得A+的評比。
這裡我使用的為 letsencrypt 免費憑證。
只要您使用D-Laravel預設的Docker官方nginx新版image,
應該都可以達到跟我一樣的效果。

下方為SSL檢測網址,可用來檢測您主機上的SSL設定:
https://www.ssllabs.com/ssltest/index.html

有圖有真相,先來看看我的結果吧..:),在Nginx上設定非常簡單哦。
ssl a plus rating

以下是我使用在D-Laravel中的ssl完整設定檔,您可以下載參考及自行調整:
完整設定檔ccc-ssl.conf

主要包含了如下的設定:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_certificate /etc/nginx/conf.d/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/conf.d/ssl/privkey.pem;
ssl_ciphers  EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:HIGH:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!SEED:!DSS:!CAMELLIA;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_dhparam /etc/nginx/conf.d/ssl/dhp-512.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/conf.d/ssl/chain.pem;

此外,我生成一組512位的 diffie-hellman (迪菲-赫爾曼密鑰交換)參數,以提高某些類型的密碼的安全性。
例如:(4096會花很長的一段時間,您可以使用2048或是我使用512。)

您可以在終端機使用 openssl 指令,產生該檔案
openssl dhparam -out dhp-2048.pem 2048

 

Tags: nginx dlaravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

如何透過getssl自動檢測及更新let's encrypt發出的憑證

let's encrypt提供免費的憑證真的很棒,不過,三個月要更新一次憑證是不是有點麻煩, 本文介紹,如何透過getssl,產生多域名的SAN憑證設定,放入排程自動進行憑證更新。 非常簡單哦,六個步驟即可搞定。

docker,dlaravel

D-Laravel 1.5.5變更說明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 並且所以我可以指定了fpm的預設的owner是dlaravel,   --with-fpm-user=USER    Set the user for php-fpm to run as. (default: nobody)   --with-fpm-group=GRP    Set the group for php-fpm to run as.

php,docker,dlaravel

我建立的phpenv容器環境簡單介紹

沒時間拍介紹影片,我就來隨便抓些畫面介紹我使用的容器環境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel開源專案的進化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太會去更動版號了,其實D-Laravel的php版號,好像我也很久沒動啦:p