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;参数启用;