我一直在尝试在Hostgator Centos服务器上托管的网站上复制ProxyPass和ProxyPassReverse。我有一个运行在带有URL http://myec2address.com:8080/portal/
的Amazon ec2上的tomcat应用程序我在本地Windows机器上成功复制了用例,并在httpd-proxy-html文件中进行了以下配置。
ProxyPass / portalBI http:// {localhost}:8080 / poratalBI
ProxyPass / sw-style http:// {localhost}:8080 / sw-style
ProxyPass / portal-style http:// {localhost}:8080 / portal-style
ProxyPassReverse / portalBI http:// {localhost}:8080 / agrometricsBI
ProxyPassReverse / sw-style http:// {localhost}:8080 / sw-style
ProxyPassReverse / portal-style http:// {localhost}:8080 / portal-style
由于托管网站位于共享服务器上,我认为我必须修改我的.htaccess文件。我尝试了许多技巧但没有成功。你能帮忙吗?因为centOS,我们需要照顾特殊角色吗?
感谢。
答案 0 :(得分:1)
您不能在htaccess文件中使用ProxyPass
或ProxyPassReverse
。您可以做的最好的事情是使用mod_rewrite的ProxyPass
标志反向代理(相当于P
):
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
一样的反向位置重写。