by Devin Yang

建立于: 7年前 ( 更新: 7年前 )

本文介绍如何调整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证书设置,放入调度自动进行证书更新。 非常简单哦,六个步骤即可搞定。

dlaravel

如何启动D-Laravel上的supervisor

由於queue workers是一个长期运行的进程,所以我们会需要一个进程管理员supervisor来监控Linux系统上的process是否持续运作,例如:当queue:work运作失败时,可以自动重启queue:work process。很幸运的D-Laravel已内建supervisor罗,所以不需要再自行安装即可使用。 本文简单的介绍,我们如何来启动container内的supervisor。

dlaravel

使用docker in docker创建D-Laravel测试环境。

D-Laravel是一个极易使用并且极有弹性的Laravel开发环境,只要您是Mac的使用者,就算不懂Docker也可以透过他来创建Laravel的项目,进行开发,由於最近添加.env的功能新功能时,急者push,却没有完整测试,搞出了一堆新的Bug,所以,这次新建了一个新的dlaravel_test,bash的测试工具,透过doceker in docker的方式来跑测试。确保D-Laravel的每一次释出都能是一个稳定的版本。