带有 TLS 1.3 的 Nginx

Nginx with TLS 1.3

尝试在Nginx(1.15.8)中使用TLS 1.3证书,发现官方Nginx是用openssl 1.1.0构建的,而TLS 1.3需要openssl 1.1.1。

为了解决这个问题,我从源代码构建了自己的 openssl 1.1.1,然后从源代码构建了 nginx(使用我刚刚构建的 openssl)。它工作得很好。 但是 - 我找不到任何内置此支持的官方 Nginx 发行版。在 Debian 或任何其他 Linux.

有没有人试过这个并找到官方的预建解决方案?

编辑:我在 https://github.com/eldada/nginx-tls13-docker 中基于 Docker 的解决方案。

我发现 Nginx 使用与目标发行版中相同的 openssl 构建和发布其二进制文件。

Packages in the nginx repository are compiled with OpenSSL as shipped by default in the particular OS. As such, nginx on Debian 9 is compiled with OpenSSL 1.1.0f.

OpenSSL 1.1.1 is currently available in Ubuntu 18.10, and corresponding nginx package as available from nginx.org are built with OpenSSL 1.1.1.

这取自nginx forum answer

更新:随着包含 OpenSSL 1.1.1 的 Ubuntu 18.04.3 的发布,NGINX 1.14 及更高版本现在支持 TLS 1.3。

截至撰写本文时,共有三个具有 OpenSSL 1.1.1 和 NGINX 1.15 的发行版:Ubuntu 18.10 (which is not an LTS release), FreeBSD 12.0, and Alpine 3.9

有计划将 18.04(这是一个 LTS 版本)移动到 OpenSSL 1.1.1,但目前有一个未解决的错误跟踪它的包含:https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1797386不幸的是,OpenSSL 1.1.1 没有登陆 Ubuntu 18.04.2 已发布