1、我的需求是通过访问域名A跳转到域名B,配置文件如下:
server { listen 80; listen 443 ssl; server_name A default; #ssl on; keepalive_timeout 4000; keepalive_requests 4000; root /usr/share/nginx/html; proxy_ssl_server_name on; location / { proxy_pass https://B/; } }
2、结果通过curl访问报错502,具体的日志为:
2023/06/28 19:32:21 [error] 17838#0: *195 SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream, client: 127.0.0.1, server: A.com, request: "GET /v1/models HTTP/1.1", upstream: "https://IP:443/v1/models", host: "A"
3、总结:conf文件缺少一个参数: proxy_ssl_server_name on; 加上即可。
4、默认不启用SNI,使用proxy_ssl_server_name on;参数启用;