niginx 请求转发到别的服务器

场景:当请求路径带有 /SnELinkIntegrate 的时候,转发到 http://10.16.16.147/pms/www/index.php/,但转发之后网页上的路径为
http://192.168.10.98/pms/login...  这里的http://192.168.10.98是发起请求的服务器地址,理论上网页上的地址应该为
http://10.16.16.147/pms/login... 才能正确的请求。

    location ^~ /SnELinkIntegrate {
        proxy_set_header  Host  $host:80;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://10.16.16.147/pms/www/index.php/;
	proxy_set_header traceId $request_trace_id;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;

    }

这样就出现的 404 的问题,如何解决呢?
在增加一个请求转发的规则,当匹配到 /pms 开头的路径,转发到 10.16.16.147服务器。

 location ^~ /SnELinkIntegrate {
        proxy_set_header  Host  $host:80;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://10.16.16.147/pms/www/index.php/;
	proxy_set_header traceId $request_trace_id;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;

    }


    location ^~ /pms {
        proxy_set_header  Host  $host:80;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://10.16.16.147/pms;
        proxy_set_header traceId $request_trace_id;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;

    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值