Nginx 不能设置 TLS1.3 加密套件的顺序,因为 OpenSSL 1.1.1 的正式版本(及之前的几个 beta 版本)使用了新的 functionint SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str);
来设置 TLS1.3 加密套件,而 TLS1.2 加密套件使用先前存在的int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str);
来设置。
(参考 https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html)
用 grep -rnwi 检索 nginx 1.15.3 的源码,发现没有使用前者(function),于是自己做了一个patch,添加ssl_ciphers_tls13
一项配置文件参数来设置 TLS1.3 加密套件。
ssl_ciphers_tls13
必须在每个server {}
块中都存在,才能正常地运行服务器,否则报出 segmentation error。而ssl_ciphers
可以在http {}
中定义,作为全局配置。
我初学 C 语言,水平不高。暂时无法解决这个 bug,故寻求帮助。 致谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.