【NGINX】宝塔配置HTTPS后 nginx 反向代理出现 502 Bad Gateway

502 Bad Gateway 错误通常是由于代理服务器无法连接到上游服务器引起的。这可能是由于 SSL 证书不匹配或其它原因导。

问题场景:站点中开启SSL配置,配置了反向代理情况下,出现部分HTTPS请求返回 502 error问题。但是使用 http://{IP}/ 方式访问,又不出现502 error情况。经排除由于网站启用了 SNI , 宝塔nginx反代默认没有加入 SNI ,Nginx 无法成功连接到上游服务器的 SSL , 导致 502 Bad Gateway。

 

解决方案:

在nginx反向代理配置中添加 proxy_ssl_server_name on; 即可。

 

操作过程:

打开“站点” – “反向代理” – 找到某条代理目录 – 点击“配置”。

在配置文件中“ proxy_set_header REMOTE-HOST $remote_addr; ” 处添加

proxy_ssl_server_name on; # 当开启时,在SSL握手的时候会把HostName传给上游服务器,以便上游服务器知道用哪个证书

proxy_ssl_verify off;  # 不验证上游证书(按需添加)

【NGINX】nginx请求视频或者静态资源无法播放问题

原因:Nginx缓存导致无法在线播放

node项目在用Nginx反代后,发现直接访问内网地址可以在线播放mp4,但走Nginx后mp4就只能缓冲完毕后播放。

刚开始以为是新装的Nginx没有在编译时带上 –with-http_flv_module –with-http_mp4_module,但后来发现不是,最终发现是宝塔默认开启了proxy_cache cache_one; 将proxy_cache 设为off后问题解决。

location /
{
    proxy_pass http://127.0.0.1:3030;
    proxy_set_header Host 127.0.0.1;
    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;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;
    proxy_cache off;
    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    
    set $static_file31ND2yGy 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_file31ND2yGy 1;
    	expires 1m;
        }
    if ( $static_file31ND2yGy = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

 

 

另:proxy_buffers也建议关闭。
———————————–
Nginx缓存导致无法在线播放