[英]apache reverse proxy configuration
我正在尝试为一个应用程序配置反向代理。 我正在使用apache 2.2 Web服务器是我的配置规则
代理请求关闭
ProxyPreserveHost在
ProxyPass / app /(http://11.11.111.11:123/ )
ProxyPassReverse / app / http://11.11.111.11:123/
问题:当我点击本地服务器的URL,例如myserver.co.in/app/时,第一页即将出现(应用程序登录页面)。 该应用程序重定向到URL myserver.co.in/home/index.html之后,重定向失败。 因为网址中缺少“ / app /”部分。
任何人都可以帮助我解决此问题。 提前致谢。
因为apache dosnt知道您想要一个不同的页面,所以需要将此虚拟主机的工作目录设置为应用程序所在的目录。
例如,
DocumentRoot "/www/example2"
所以使用您的配置将是
<VirtualHost *:80>
DocumentRoot "/www/example2"
ProxyRequests off
ProxyPreserveHost on
ProxyPass /app/ (http://11.11.111.11:123/)
ProxyPassReverse /app/ http://11.11.111.11:123/
# Other directives here
</VirtualHost>
您可以修改您的应用程序以添加/app
前缀,也可以使用mod_proxy_html
。
以下内容引用自“ 当ProxyPass和ProxyPassReverse还不够时 ”,并进行了修改以适合您的要求。
简而言之, mod_proxy_html
允许您重写html,javascript和css,以便URL可以清晰地通过反向代理。 这意味着后端应用程序响应
<script src="/script/application.js" type="text/javascript"></script>
mod_proxy_html会将其转换为
<script src="/app/script/application.js" type="text/javascript"></script>
要使其正常工作,请将以下内容添加到httpd.conf中
ProxyPass /app/ (http://11.11.111.11:123/)
ProxyPassReverse /app/ http://11.11.111.11:123/
ProxyHTMLURLMap http://11.11.111.11:123/ /app/
<Location /app/>
ProxyHTMLEnable On
ProxyPassReverse http://11.11.111.11:123/
SetOutputFilter proxy-html
ProxyHTMLURLMap / /app/
ProxyHTMLURLMap /app /app
</Location>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.