侧边栏壁纸
  • 累计撰写 40 篇文章
  • 累计创建 12 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

宝塔面板Nginx反向代理报错502解决

Ywxmz
2025-08-27 / 0 评论 / 0 点赞 / 20 阅读 / 0 字

一、前言

小周最近在解决一些国外静态资源加速问题时通过Nginx反向代理但是却报错502。众所周知,一些静态资源托管,例如jsDelivr都是使用的CloudFlare之类的国外服务商,在国内的加速约等于减速,因此小周觉得有必要从官方CDN上自建镜像或者自建反向代理,以实现在国内的加速。

但是小周在反向代理Data Tables却出了一点小问题,反向代理走HTTP时,会被重定向到官方的CDN,但是这显然不是我们想要的,走HTTPS就会显示502.

二、解决方案

检查Nginx的错误日志,报错如下:

[error] 1130164#0: *27567 SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream

这是出现了一个握手错误,反向代理是通过sslv3协议握手的,但是又众所周知,sslv3协议,基本上绝大部分服务器都是关闭了的,现在使用的最多的大部分都是tlsv1.1、tlsv1.2、tlsv1.3,因此可以指定版本。

proxy_ssl_protocols TLSv1.2

其次,配置了之后还是没有办法。

紧接着,就需要考虑SNI支持,有社区大佬说可能存在Nginx 无法成功 handshake 上游的 SSL,导致502报错,需要按照以下配置:

proxy_ssl_server_name on;

启用SNI支持,果然添加之后,就没有再报错502,能够正常反向代理了。

0

评论区