让 NGINX 根据自定义域验证上游 SSL 证书?

让 NGINX 根据自定义域验证上游 SSL 证书?

我有一个自定义管理域,当它在公司内联网中时,它会解析为内部网关计算机,当它在内联网之外时,它会解析为 Cloudflare。我们想让一个网站同时访问内联网和互联网,因此我在网关上配置了 Nginx,如下所示:

server {
    listen 443 ssl http2;
    server_name example.com;

    location / {
        proxy_pass https://example.com.cloudflare.net;
        proxy_set_header Host "example.com";
    }
}

问题是,现在我想让 Nginx 验证 SSL 证书(example.com.cloudflare.netexample.com不是已解析的域)。我该怎么做?

请注意,example.com解析为此网关机器的内联网 IP 地址(它也位于内联网中)。

答案1

看起来proxy_ssl_name就是你要找的东西。来自文档

Syntax:   proxy_ssl_name name; 
Default:  proxy_ssl_name $proxy_host;
...
Allows overriding the server name used to verify the certificate 
proxied HTTPS server and to be passed through SNI when establishing
a connection with the proxied HTTPS server.

相关内容