繁体   English   中英

apache反向代理配置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM