2

尝试在 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 的解决方案。

4

2 回答 2

5

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

在撰写本文时,共有三个具有 OpenSSL 1.1.1 和 NGINX 1.15 的发行版: Ubuntu 18.10(不是 LTS 版本)、FreeBSD 12.0Alpine 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 中登陆。

于 2019-02-17T23:28:21.917 回答
0

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

nginx 存储库中的包是使用特定操作系统中默认提供的 OpenSSL 编译的。因此,Debian 9 上的 nginx 是使用 OpenSSL 1.1.0f 编译的。

OpenSSL 1.1.1 目前在 Ubuntu 18.10 中可用,从 nginx.org 获得的相应 nginx 包是使用 OpenSSL 1.1.1 构建的。

这取自nginx 论坛答案

于 2019-02-03T05:42:32.510 回答