我一直试图复制ProxyPass和ProxyPassReverse在我的网站托管在Hostgator Centos服务器.我有一个tomcat应用程序运行在亚马逊ec2与URLhttp://myec2address.com:8080/portal/
我成功地在本地windows机器上复制了用例,并在httpd-proxy-html文件上进行了以下配置。
ProxyPass /portalBI超文本传输协议://{localhost}: 8080/poratalBI
ProxyPass /sw-style超文本传输协议://{localhost}: 8080/sw-style
ProxyPass /portal-style超文本传输协议://{localhost}: 8080/portal-style
ProxyPassReverse /portalBI超文本传输协议://{localhost}: 8080/agrometricsBI
ProxyPassReverse /sw-style超文本传输协议://{localhost}: 8080/sw-style
ProxyPassReverse /portal-style超文本传输协议://{localhost}: 8080/portal-style
由于托管网站在共享服务器上,我想我必须修改我的. htaccess文件。我尝试了很多技巧,但没有成功。你能帮忙吗?因为centOS,我们需要处理特殊字符吗?
谢谢。
您不能在htaccess文件中使用ProxyPass
或ProxyPassReverse
。您最多可以使用mod_rewrite的P
标志进行反向代理(相当于ProxyPass
):
RewriteEngine On
RewriteRule ^portalBI(.*)$ http://localhost:8080/poratalBI$1 [L,P]
RewriteRule ^sw-style(.*)$ http://localhost:8080/sw-style$1 [L,P]
RewriteRule ^portal-style(.*)$ http://localhost:8080/portal-style$1 [L,P]
除非您的共享主机mod_proxy加载,否则这将无法工作,而且您不会像使用ProxyPassReverse
那样获得反向位置重写。