![TLS1.3 无法在装有 OpenSSL 1.1.1-pre9 的 nginx 1.15.2 上运行](https://linux22.com/image/726217/TLS1.3%20%E6%97%A0%E6%B3%95%E5%9C%A8%E8%A3%85%E6%9C%89%20OpenSSL%201.1.1-pre9%20%E7%9A%84%20nginx%201.15.2%20%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
尽管我的服务器(www.baldeonline.com 供参考)已在配置文件中启用了 TLS1.3,但 nginx 和 OpenSSL 已更新至最新版本,因此无法在我的服务器上启用 TLS1.3。此外,我的 nginx 实例是在安装了 OpenSSL 1.1.1-pre9 的情况下编译的。
$ nginx -V
返回:
nginx version: nginx/1.15.2
built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
built with OpenSSL 1.1.1-pre9 (beta) 21 Aug 2018
到目前为止,我看到的大多数教程都包含 CloudFlare,因此我怀疑它在这种情况下可以作为服务器和 CloudFlare 之间的 TLS1.2 工作,然后作为 CloudFlare 和客户端之间的 TLS1.3 工作,尽管我没有任何具体建议这样做。
编辑
正如帕特里克提到的,运行以下命令:
$ openssl s_client -connect www.baldeonline.com:443
显示已启用 TLS1.3。浏览器更新后,TLS1.3 应该能够与其配合使用,以完全支持最终的 TLS1.3(2018 年 8 月 15 日)标准,而不仅仅是草案标准。
对于那些感兴趣的人:
https://wiki.openssl.org/index.php/TLS1.3#Current_status_of_the_TLSv1.3_standard
虽然最新的 1.1.1 版本支持最终标准版本,但支持 TLSv1.3 的其他应用程序可能仍在使用较旧的草案版本。这是互操作性问题的常见原因。如果两个支持不同 TLSv1.3 草案版本的对等体尝试通信,则它们将回退到 TLSv1.2。
总结:如果你想让 TLS1.3 正常工作现在对于草案 28,请使用 OpenSSL 1.1.1-pre8 https://fearby.com/article/enabling-tls-1-3-ssl-on-a-nginx-website-on-an-ubuntu-16-04-server-that-is-using-cloudflare/ 跳至“更新 Open SSL 的时间”并使用https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz代替 git clone。
答案1
在OpenSSL 1.1.1-pre9中,除了TLS1.3最终版本外,所有草案支持均被移除。然而,浏览器只支持草案版本。