*) Feature: the "ssl_certificate" and "ssl_certificate_key" directives can be specified multiple times to load certificates of different types (for example, RSA and ECDSA).
一大堆 Feature http://nginx.org/en/CHANGES
已成功部署了两个证书,不过 PC 版的 Chrome 并没有选择 ECDSA 证书,只有手机版采用了 CHACHA20 才使用 ECDSA ,可能是 ssl_ciphers 的关系
我原来采用的ssl_ciphers配置是CloudFlare推荐的配置
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
建议修改为
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+ECDSA+AES256:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
其实就是把 EECDH+ECDSA 放在CHACHA20的后面,这样nginx和浏览器协商加密的时候就会优先采用 ECDSA
上面的ssl_ciphers,在IE11、EDGE等浏览器下,会优先选择 AES_256_GCM_SHA384
为了避免不必要的开销(AES_128_GCM_SHA256已经足够安全),最后再简单粗暴地调整下
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:EECDH+ECDSA+AESGCM:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
这样所有浏览器默认的配置,都不会选择 AES256,节省计算资源
1
qgy18 2016-05-25 22:06:42 +08:00 via iPhone
貌似 nginx-ct 还没法支持两个证书。
|
2
JimmyZhou 2016-05-25 22:37:07 +08:00
看题目我还以为 SNI, 看了才知道是 RSA 和 ECC 双证书。。
|
5
alect 2016-05-26 00:18:39 +08:00
Apache 下的双证书,/t/259478
|
6
alect 2016-05-26 00:18:57 +08:00
|
7
fcicq 2016-05-26 08:54:10 +08:00
关于附言 2, 现代处理器有 AES 指令集, 服务器方面偏好 AES 会更好. 但这个偏好不牵扯客户端的解密性能, 比如在移动处理器上 chacha 系更快也是事实.
|
8
realpg 2016-05-26 08:57:20 +08:00
@fcicq
其实这个选择非常不合理。 有 AES 指令集的 CPU 至少也是 i3 了,性能比较强,就算不让他用 AES 指令集,单纯用 CPU 传统计算也不在话下 反而是没有 AES 指令集的,大多是性能较差的老 CPU ,跑 AES 可就慢死了 |
9
fcicq 2016-05-26 09:09:32 +08:00
@realpg 先考虑服务器端. 服务器端多数有 AESNI 所以必然比 chacha 快. 移动端占大比例的话再考虑 chacha 优先. 能指望旧机器装现代浏览器?
|
10
realpg 2016-05-26 09:12:20 +08:00
|
11
fcicq 2016-05-26 09:27:18 +08:00
@realpg 确实不懂啊. 没办法... 只能说有些遗憾. SSE2 有 15 年历史了吧. 因为有了 AESNI 所以很多实现不愿意维护 SSE2 版的 AES 了, 而对没有指令集支持的加密算法来说 SSE2 是保证基本性能的基础.
|
12
somnus 2016-05-26 10:42:13 +08:00
版本迭代的真快...
|
13
lhbc OP |
14
zsen 2016-05-26 11:25:22 +08:00
外阁楼,@lhbc 是不是原来喜悦村的那个谁?头像有点眼熟 😄
|