location ^~ /
{
proxy_pass https://www.binance.com/bapi/asset/v1/public/asset-service/product/currency;
proxy_set_header Host www.binance.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_ssl_server_name on;
}关键的一行代码:
proxy_ssl_server_name on;补充阅读#
说明 Nginx 反向代理 HTTPS 时,SNI 与 HTTP Host 头为何需要分别检查。
如何理解与使用#
原示例通过 proxy_ssl_server_name 让上游 TLS 握手携带服务器名称;proxy_set_header Host 则作用于之后的 HTTP 请求。
验证与边界#
遇到 502 时结合错误日志检查域名解析、连接和 TLS 阶段。SNI 能解决名称选择问题,但不能替代上游证书校验或修复所有 502。
参考:Nginx HTTPS 上游配置(本次补充核对)。
