我们使用httpd和mod_proxy作为我们不同Web服务器前面的反向代理。
我们有我们的www子域指向反向代理,并mod_proxy指示从那里的请求。
我一直没有想出一个简洁的方式来说这个,所以我只会显示:
如果我们有一个网站http://blah.example.com/my-web-app ,我们通常会在反向代理中添加这样一行:
ProxyPass /my-web-app http://blah.example.com/my-web-app
以便用户可以访问http://www.example.com/my-web-app 。 当反向代理和Web服务器上的请求path组件( /my-web-app )相同时,会自动添加尾部的斜杠,就像有人直接访问http://blah.example.com/my-web-app 。
但是,如果path组件不同,例如:
ProxyPass /my-web-app http://blah.example.com/some-other-path
那么尾部的斜线不会被添加。
这种行为是否正常? 有一些configuration可以照顾这个吗?
请仔细阅读Apache httpd文档中有关ProxyPass的部分( http://httpd.apache.org/docs/current/mod/mod_proxy.html )。 您可以通过显式指定ProxyPass指令的两个参数的尾部/来解决此问题
ProxyPass /my-web-app/ http://blah.example.com/some-other-path/