我希望这里有Apache
经验的人能帮助我。我有一个内部服务器,我要使用Apache Reverse Proxy
。即
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
ProxyVia Off
ProxyRequests Off
ProxyPreserveHost On
SSLProxyEngine On
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerExpire Off
SSLProxyCheckPeerName Off
SSLProxyVerify none
ProxyPass /internal https://www.myinternalserver.com
ProxyPassReverse /internal https://www.myinternalserver.com
<Location />
Allow from all
# Require all granted
</Location>
我遇到的问题是这样的
getRequest().getServerName()
来获取URL。如果我关闭ProxyPreserveHost
并将其设置为Off
,则内部应用程序最终将返回的URL。这不是我想要的,因为公众无法访问此内部应用程序URL。 ProxyPreserveHost
必须为On
,以便Apache Reverse Proxy
可以将其URL传递给基础内部应用程序。但是,当我这样做时,我得到404。我知道可能正在发生的是内部服务器正在使用外部域来查找其应用程序,因此无法找到它。我不确定该如何解决。顺便说一句,内部应用程序托管在PCF
上。 如果有人可以帮助我,我将不胜感激。
谢谢!