nginx反向代理https域名时,请求报错502 & 多个域名和服务使用同一个公网IP解决方案

nginx报错日志如下:
2023/06/18 12:09:24 [error] 24993#0: *17967 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: 10.xxx, server: localhost, request: "POST /bapi/ HTTP/1.1", upstream: "https://xxx/b", host: "xxx", referrer: "http://xxx/screen/"

报错分析:
在本地环境直接请求域名正常;但使用了nginx反向代理,在请求时DNS域名进行解析,真正请求出去的为IP与端口,但对方系统是多个域名对应一个公网ip,这个一个公网IP下映射到了多个项目和服务,通过nginx的server_name进行区分,故直接请求不通。

所以能成功请求方式有两种:1、直接域名请求;2、IP端口请求,但请求时需添加host;

即在nginx配置项中增加

        proxy_ssl_server_name on;

(当你的nginx服务器作为反向代理,将client的请求转发到一个SSL服务器时,需要在HTTP请求头中包含SSL服务器的名称,这样SSL服务器才能正确地响应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值