Nginx proxy_ssl_name 在多证书后端回源时,如何配置实现正确域名解析?

2026-04-27 18:510阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1049个文字,预计阅读时间需要5分钟。

Nginx proxy_ssl_name 在多证书后端回源时,如何配置实现正确域名解析?

很抱歉,您提供的文本似乎不完整,我无法直接进行改写。请提供完整的文本内容,以便我能够根据您的要求进行改写。

为什么 proxy_ssl_name 必须配合 proxy_ssl_server_name on 才生效

默认情况下,Nginx 与 HTTPS 后端建连时根本不会发送 SNI 字段——proxy_ssl_server_name 默认是 off。哪怕你写了 proxy_ssl_name $host,只要没开这个开关,SNI 就不会出现在 TLS ClientHello 里,上游压根收不到域名信息。

开启后,Nginx 才会调用 SSL_set_tlsext_host_name()proxy_ssl_name 的值塞进 SNI 扩展。所以这两条必须成对出现:

  • proxy_ssl_server_name on; —— 启用 SNI 发送能力
  • proxy_ssl_name $host; —— 指定要发哪个域名(推荐用 $host,已标准化、不含端口)

单独写其中一条,等于没配。

proxy_ssl_name 写死 vs 动态变量:什么时候能硬编码

写死 proxy_ssl_name "api.example.com"; 只在一种场景安全:所有请求都指向同一后端域名,且该域名在上游证书的 SAN 中明确存在。一旦后端是多租户架构(比如 shop-a.comshop-b.com 共用一个 IP),就必须用变量。

阅读全文

本文共计1049个文字,预计阅读时间需要5分钟。

Nginx proxy_ssl_name 在多证书后端回源时,如何配置实现正确域名解析?

很抱歉,您提供的文本似乎不完整,我无法直接进行改写。请提供完整的文本内容,以便我能够根据您的要求进行改写。

为什么 proxy_ssl_name 必须配合 proxy_ssl_server_name on 才生效

默认情况下,Nginx 与 HTTPS 后端建连时根本不会发送 SNI 字段——proxy_ssl_server_name 默认是 off。哪怕你写了 proxy_ssl_name $host,只要没开这个开关,SNI 就不会出现在 TLS ClientHello 里,上游压根收不到域名信息。

开启后,Nginx 才会调用 SSL_set_tlsext_host_name()proxy_ssl_name 的值塞进 SNI 扩展。所以这两条必须成对出现:

  • proxy_ssl_server_name on; —— 启用 SNI 发送能力
  • proxy_ssl_name $host; —— 指定要发哪个域名(推荐用 $host,已标准化、不含端口)

单独写其中一条,等于没配。

proxy_ssl_name 写死 vs 动态变量:什么时候能硬编码

写死 proxy_ssl_name "api.example.com"; 只在一种场景安全:所有请求都指向同一后端域名,且该域名在上游证书的 SAN 中明确存在。一旦后端是多租户架构(比如 shop-a.comshop-b.com 共用一个 IP),就必须用变量。

阅读全文