想要更改请求网址但对应用程序保持透明

时间:2017-06-02 05:59:32

标签: php nginx

我刚做了一大堆开发工作并使用了类似下面的网址...

http://192.168.1.10/

事情是,我的客户希望使用相同的IP地址运行2个单独的应用程序。所以基本上你会在http://192.168.1.1/上运行一个应用程序而另一个应用程序将在http://192.168.1.1/sales上运行。

我尝试使用以下内容对我的其他应用程序执行proxy_pass ...

location /sales {
    proxy_pass        http://192.168.1.10;
}

当我访问该页面时,我将被带到应用程序404页面。我可以理解为什么会发生这种情况,因为应用程序正在处理“销售”问题。作为uri的一部分,并不属于我的应用程序中的任何路由。

我是否有办法使用网址http://192.168.1.1/sales访问网页,但应用程序会将其视为http://192.168.1.1?我想在不必触及我的应用程序的情况下完成此任务。

干杯

1 个答案:

答案 0 :(得分:0)

  

如果使用URI指定了proxy_pass指令,那么当请求传递给服务器时,与该位置匹配的规范化请求URI的部分将被指令中指定的URI替换。

尝试:

location /sales/ {
    proxy_pass        http://192.168.1.10/;
    ...
}

来源:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass