如何设置 proxy_ssl_protocols 强制启用 TLS 1.3 以增强反向代理安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计716个文字,预计阅读时间需要3分钟。
要使Nginx反向代理到后端服务时强制使用TLS 1.3,关键不是设置`proxy_ssl_protocols TLSv1.3`,而是确保配置正确配合以下因素生效:
确认底层依赖已就绪
Nginx 自身不实现 TLS,它调用编译时链接的 OpenSSL 库。即使系统装了 OpenSSL 3.0,若 Nginx 是用旧版(如 1.0.2)编译的,proxy_ssl_protocols TLSv1.3 会被静默忽略。
- 运行
nginx -V 2>&1 | grep OpenSSL,确认输出中 OpenSSL 版本 ≥ 1.1.1(推荐 ≥ 3.0) - 如果版本偏低,需重新编译 Nginx 并指定新版 OpenSSL 路径,或改用 Ubuntu 22.04+/AlmaLinux 9 等自带高版本 OpenSSL 的发行版官方包
- 注意:
openssl version命令显示的是命令行工具版本,不能代表 Nginx 运行时实际使用的库
正确配置 proxy\_ssl\_protocols 指令
该指令控制 Nginx 作为客户端连接上游服务器时启用的 TLS 协议版本,作用于 location 或 server 块内,不影响客户端到 Nginx 的通信。
本文共计716个文字,预计阅读时间需要3分钟。
要使Nginx反向代理到后端服务时强制使用TLS 1.3,关键不是设置`proxy_ssl_protocols TLSv1.3`,而是确保配置正确配合以下因素生效:
确认底层依赖已就绪
Nginx 自身不实现 TLS,它调用编译时链接的 OpenSSL 库。即使系统装了 OpenSSL 3.0,若 Nginx 是用旧版(如 1.0.2)编译的,proxy_ssl_protocols TLSv1.3 会被静默忽略。
- 运行
nginx -V 2>&1 | grep OpenSSL,确认输出中 OpenSSL 版本 ≥ 1.1.1(推荐 ≥ 3.0) - 如果版本偏低,需重新编译 Nginx 并指定新版 OpenSSL 路径,或改用 Ubuntu 22.04+/AlmaLinux 9 等自带高版本 OpenSSL 的发行版官方包
- 注意:
openssl version命令显示的是命令行工具版本,不能代表 Nginx 运行时实际使用的库
正确配置 proxy\_ssl\_protocols 指令
该指令控制 Nginx 作为客户端连接上游服务器时启用的 TLS 协议版本,作用于 location 或 server 块内,不影响客户端到 Nginx 的通信。

