nginx 1.11.0 支持多证书了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lhbc
V2EX    NGINX

nginx 1.11.0 支持多证书了

  •  
  •   lhbc 2016-05-25 22:04:36 +08:00 5275 次点击
    这是一个创建于 3479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    *) 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 的关系

    第 1 条附言    2016-05-25 22:52:24 +08:00

    我原来采用的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

    第 2 条附言    2016-05-25 23:43:19 +08:00

    上面的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,节省计算资源

    20 条回复    2016-05-26 13:41:55 +08:00
    qgy18
        1
    qgy18  
       2016-05-25 22:06:42 +08:00 via iPhone
    貌似 nginx-ct 还没法支持两个证书。
    JimmyZhou
        2
    JimmyZhou  
       2016-05-25 22:37:07 +08:00
    看题目我还以为 SNI, 看了才知道是 RSA 和 ECC 双证书。。
    wql
        3
    wql  
       2016-05-25 23:13:31 +08:00 via iPad
    @qgy18 上双证书不上 sct
    chromee
        4
    chromee  
       2016-05-26 00:16:41 +08:00 via Android
    @qgy18 上内嵌透明度的证书不就行了
    alect
        5
    alect  
       2016-05-26 00:18:39 +08:00
    Apache 下的双证书,/t/259478
    alect
        6
    alect  
       2016-05-26 00:18:57 +08:00
    fcicq
        7
    fcicq  
       2016-05-26 08:54:10 +08:00
    关于附言 2, 现代处理器有 AES 指令集, 服务器方面偏好 AES 会更好. 但这个偏好不牵扯客户端的解密性能, 比如在移动处理器上 chacha 系更快也是事实.
    realpg
        8
    realpg  
    PRO
       2016-05-26 08:57:20 +08:00
    @fcicq
    其实这个选择非常不合理。
    有 AES 指令集的 CPU 至少也是 i3 了,性能比较强,就算不让他用 AES 指令集,单纯用 CPU 传统计算也不在话下
    反而是没有 AES 指令集的,大多是性能较差的老 CPU ,跑 AES 可就慢死了
    fcicq
        9
    fcicq  
       2016-05-26 09:09:32 +08:00
    @realpg 先考虑服务器端. 服务器端多数有 AESNI 所以必然比 chacha 快. 移动端占大比例的话再考虑 chacha 优先. 能指望旧机器装现代浏览器?
    realpg
        10
    realpg  
    PRO
       2016-05-26 09:12:20 +08:00
    @fcicq
    你根本不懂用户。
    我现在就是一个不支持 AES 指令集的电脑在上网,而且是我的最常用的一台电脑。
    不要看不起奔腾 CPU 。
    fcicq
        11
    fcicq  
       2016-05-26 09:27:18 +08:00
    @realpg 确实不懂啊. 没办法... 只能说有些遗憾. SSE2 有 15 年历史了吧. 因为有了 AESNI 所以很多实现不愿意维护 SSE2 版的 AES 了, 而对没有指令集支持的加密算法来说 SSE2 是保证基本性能的基础.
    somnus
        12
    somnus  
       2016-05-26 10:42:13 +08:00
    版本迭代的真快...
    lhbc
        13
    lhbc  
    OP
       2016-05-26 11:14:55 +08:00 via Android
    @realpg
    @fcicq
    附言 2 的 ciphers ,优先级是
    chacha20, ECDSA AES GCM, RSA AES GCM, RSA AES CBC

    在不支持 AES-NI 的 x86 CPU ,浏览器是 Chrome 32+的时候,会优先选择 chacha20
    基本还是以客户端优先
    zsen
        14
    zsen  
       2016-05-26 11:25:22 +08:00
    外阁楼,@lhbc 是不是原来喜悦村的那个谁?头像有点眼熟
    lhbc
        15
    lhbc  
    OP
       2016-05-26 11:41:30 +08:00
    @zsen 喜悦村 是啥……
    BSD 小恶魔的头像,太多人用了……
    zsen
        16
    zsen  
       2016-05-26 12:21:28 +08:00
    @lhbc 哦,误会了
    wbsdty331
        17
    wbsdty331  
       2016-05-26 12:28:38 +08:00 via Android
    @lhbc 直接抛弃 AES-NI 吧
    lhbc
        18
    lhbc  
    OP
       2016-05-26 12:40:56 +08:00
    @wbsdty331 没明白你表达的什么观点……
    typcn
        19
    typcn  
       2016-05-26 13:22:34 +08:00
    @lhbc 客户端的开销算啥。。。。服务器同时要处理上百上千上万人的请求,而客户端只需要建一条连接。

    就在 5 年前的没有 AES 加速的手机上,一个线程也起码有个 30MB/s ,你的网速能达到这么快么?
    lhbc
        20
    lhbc  
    OP
       2016-05-26 13:41:55 +08:00
    @typcn chacha20, 随便一台服务器都能跑 几百 MB/s
    对称加密没多少开销,当然是适配客户端优先
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2823 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:36 PVG 22:36 LAX 06:36 JFK 09:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86