我刚做了一大堆开发工作并使用了类似下面的网址...
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?我想在不必触及我的应用程序的情况下完成此任务。
干杯
答案 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