由于 Github 没有正式的 Draft 新分支(18/19 已经是很久以前的事了),所以就直接拉主分支了,哔哩萌会不断跟进。

iHappy

编译

主要是 pthread_atfork 报错,(见 Issue 3884), 暂时的解决办法:vi ./objs/Makefile,搜索 -ldl -lz \,删除此行前面的 -lpthread ,并在 \ 前添加 -lpthread,如 -ldl -lz -lpthread \,之后顺利编译。 Nginx 1.13.11 已修复此问题。

testssl 测试

工具链接:https://testssl.sh/

git clone --depth 1 https://github.com/drwetter/testssl.sh.git
cd testssl.sh
./testssl.sh -p https://example.com/

测试结果

 SSLv2      not offered (OK)
 SSLv3      not offered (OK)
 TLS 1      not offered
 TLS 1.1    not offered
 TLS 1.2    offered (OK)
 TLS 1.3    offered (OK): final
 SPDY/NPN   h2, http/1.1 (advertised)
 HTTP2/ALPN h2, http/1.1 (offered)

注意

OpenSSL 1.1.1 近期更新后 TLSv1.3 ciphersuite 须与 1.1/1.2 分开配置(详见:#191),受制于 Nginx 暂无支持计划( Nginx 称 OpenSSL 团队对于解决意外禁用 TLS 1.3 密码引发的问题未有长远的、明确的方案。详见:#1529)。

因此,短期内 Nginx 使用者将无法调整密码套件优先顺序,如把 CHACHA20-POLY1305-SHA256 放到首位。Apache 计划新增 SSLCipherSuiteV1_3

现在默认的 TLSv1.3 密码套件是:

TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

题外话

从下图得知 Nginx 还未实现 0-RTT 。

0-RTT