我们有一个位于http://foo.bar的应用程序服务器。
它需要通过http:// wibble / foo使用反向代理来访问。
这我已经pipe理,但是有在http:// foo.bar的东西从/
例如:
/images/blah.jpg
所以它试图得到http:// wibble / images / blah.jpg而不是
http:// wibble / foo / images / blah.jpg
任何想法如何让它插入/ foo前缀的任何引用/?
mod_proxy 从不修改HTML。
只有上面特别提到的HTTP响应头才会被重写。 Apache不会重写其他响应头,也不会重写HTML页面内的URL引用。 这意味着如果代理内容包含绝对URL引用,他们将绕过代理。 Nick Kew的mod_proxy_html是第三方模块,它将查看HTML并重写URL引用。
如果您使用nginx作为前端服务器,则可以使用HttpSubModule执行replace。 本质上,nginx应该代理请求并在返回的文本上执行replace。 我相信虽然,如果你在后端进行压缩,你不能使用它(只要你在前端服务器上压缩,你应该没问题):
基本上:Nginx – >代理到Apache – >返回到Nginx – >执行replace – >压缩和服务
我认为Apache和其他服务器存在类似的模块。