Nginx:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
→‎SSL
第10行: 第10行:
<pre>
<pre>
ssl_protocols TLSv1 TLSv1.2;
ssl_protocols TLSv1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM+AES256:DH+AESGCM+AES256:ECDH+AESGCM:DH+AESGCM:ECDH+AES+SHA384:DH+AES+SHA384:ECDH+AES+SHA256:DH+AES+SHA256:ECDH+AES128:DH+AES128:ECDH+CAMELLIA:DHE+CAMELLIA:!ADH:!AECDH:!DSS:!MD5";
ssl_ciphers "ECDH+AESGCM+AES256:DH+AESGCM+AES256:ECDH+AESGCM:DH+AESGCM:ECDH+AES+SHA384:DH+AES+SHA384:ECDH+AES+SHA256:DH+AES+SHA256:ECDH+AES128:DH+AES128:ECDH+CAMELLIA:DH+CAMELLIA:!ADH:!AECDH:!DSS:!ECDSA:!MD5"
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_cache shared:SSL:30m;
ssl_session_cache shared:SSL:30m;

2018年4月18日 (三) 04:00的版本

nginx是一套网页服务器,在效能与设定弹性上取得不错的平衡点。

安装

Ubuntu上除了内建版本外(在16.04是1.10.3),也有PPA可以安装新版。

设定

SSL

/etc/nginx/conf.d/ssl.conf内的设定如下:

ssl_protocols TLSv1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM+AES256:DH+AESGCM+AES256:ECDH+AESGCM:DH+AESGCM:ECDH+AES+SHA384:DH+AES+SHA384:ECDH+AES+SHA256:DH+AES+SHA256:ECDH+AES128:DH+AES128:ECDH+CAMELLIA:DH+CAMELLIA:!ADH:!AECDH:!DSS:!ECDSA:!MD5"
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_cache shared:SSL:30m;
ssl_session_timeout 30m;

这跟其他网站上建议的有些差异:

直接关掉TLSv1.1
因为就浏览器安全性来说一定要用TLSv1.2,就浏览器支援度来说则是开TLSv1.1,目前没有看到需要开TLSv1.1才会动情况,直接关掉反而可以避免nginx实做TLSv1.1有问题时的风险(因为用的人少,眼球会比较少,这个协定风险反而比另外两个高)。
调低SHA-1(SHA)优先权:
因为目前还是有浏览器不支援较新的SHA256(配合AES128)或SHA384(配合AES256),所以还是得支援SHA-1,但优先权尽量排低。
试着支援非NIST架构的协定:
目前cipher都是NIST所选出的协定,所以还是多选了Camellia(CAMELLIA128)让使用者可以用。之后会规划将ChaCha20+Poly1305放入列表(还在观察,尤其是移动设备上对AES的硬件加速支援反而使得ChaCha20+Poly1305未必比较快)。

外部链接