如何配置Nginx反向代理外网HTTPS服务解决SNI域名缺失导致的502错误问题?

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

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

如何配置Nginx反向代理外网HTTPS服务解决SNI域名缺失导致的502错误问题?

直接输出结论:

怎么确认是 SNI 缺失引起的 502

别猜,看日志。打开 /var/log/nginx/error.log,重点搜这几类线索:

  • SSL_do_handshake() failedSSL_connect() failed
  • tlsv1 alert handshake failure(alert number 40)或 tlsv1 alert internal error(alert number 80)
  • 日志里显示 Nginx 把 api.example.com 解析成 192.0.2.1,但你用 curl -v https://192.0.2.1 确实失败,而 curl -v https://api.example.com 成功

满足以上任意一条,基本就是 SNI 问题——后端 HTTPS 服务(比如 Cloudflare、某些 SaaS API)靠 SNI 区分虚拟主机,Nginx 不带 SNI,它就拒连。

proxy_ssl_server_name on 必须配合 proxy_ssl_name

只写 proxy_ssl_server_name on 不够,Nginx 还不知道该发哪个域名过去。

阅读全文
标签:psNginx

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

如何配置Nginx反向代理外网HTTPS服务解决SNI域名缺失导致的502错误问题?

直接输出结论:

怎么确认是 SNI 缺失引起的 502

别猜,看日志。打开 /var/log/nginx/error.log,重点搜这几类线索:

  • SSL_do_handshake() failedSSL_connect() failed
  • tlsv1 alert handshake failure(alert number 40)或 tlsv1 alert internal error(alert number 80)
  • 日志里显示 Nginx 把 api.example.com 解析成 192.0.2.1,但你用 curl -v https://192.0.2.1 确实失败,而 curl -v https://api.example.com 成功

满足以上任意一条,基本就是 SNI 问题——后端 HTTPS 服务(比如 Cloudflare、某些 SaaS API)靠 SNI 区分虚拟主机,Nginx 不带 SNI,它就拒连。

proxy_ssl_server_name on 必须配合 proxy_ssl_name

只写 proxy_ssl_server_name on 不够,Nginx 还不知道该发哪个域名过去。

阅读全文
标签:psNginx