解决多层代理发现的几个坑

  • 首先说下网络访问代理的情况比较复杂,比较变态,这下面还是我简化后的一张图:

图中描述的实现思路较为复杂,希望找到核心原因,最好通过简单配置能解决。

发现坑一:

  • 本地用NGINX做了如上模拟,发现了NGINX的一个配置小细节:
location /ebidding {
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_pass http://127.0.0.1:8000;
    client_max_body_size    1000m;
    // 这个地方注意,如果配置为$host,如果你的NGINX listen端口不是80时,才会发现重定向取不到端口问题
    // 最好配置为$http_host,或者求其次可写死$host:8089
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP       $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_redirect off;
}

发现坑二:

  • gateway会丢失外层NGINX向下传递的主机信息!这个折腾好多次,盲猜好多种情况,终于定位到是gateway问题。
- id: ebidding
    uri: http://192.168.2.43:8003
    predicates:
       - Path=/ebidding/**
    filters:
       - PreserveHostHeader #发送网关原始主机头,找了很久才找到这个关键配置

最后本地测试通过,很费劲的解决了这两坑,特此大记一笔。另外,找配置时,以外发现gateway可配置代理服务器做正向代理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值