【问题标题】:Nginx with TLS 1.3带有 TLS 1.3 的 Nginx
【发布时间】:2019-01-31 07:24:47
【问题描述】:

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

【问题讨论】:

  • 在 macOS 上与 Nginx 1.15.12 相同的问题。使用 OpenSSL 1.0.2r(2019 年 2 月 26 日)构建。你会建议只在本地构建@Eldad 吗?
  • 您是否直接在 Mac 上运行 Nginx?你愿意在 Docker 中运行吗?如果是这样,请参阅我的解决方案:github.com/eldada/nginx-tls13-docker
  • 我肯定会尝试你的计划!但是在阅读您的答案之前,我已经像您一样从源代码构建了它:o)如果我先阅读此内容,我可以节省很多时间:gist.github.com/beatfactor/a093e872824f770a2a0174345cacf171

标签: nginx webserver tls1.3


【解决方案1】:

更新:随着包含 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 中登陆已发布。

【讨论】:

    【解决方案2】:

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

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

    OpenSSL 1.1.1 目前在 Ubuntu 18.10 中可用,并且 构建了 nginx.org 提供的相应 nginx 包 使用 OpenSSL 1.1.1。

    这取自nginx forum answer

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 2023-02-17
      相关资源
      最近更新 更多