apache反向代理配置

apache反向代理配置,apache,proxy,reverse-proxy,mod-proxy,Apache,Proxy,Reverse Proxy,Mod Proxy,我正在尝试为一个应用程序配置反向代理。 我正在使用Apache2.2Web服务器 下面是我的配置规则 代理请求关闭 代理主机 ProxyPass/app/() ProxyPassReverse/应用程序/ 问题: 当我点击本地服务器的url时,比如myserver.co.in/app/ 第一页即将到来(应用程序登录页)。在该应用程序重定向到url myserver.co.in/home/index.html之后,重定向失败。因为url中缺少“/app/”部分 有人能帮我解决这个问题吗。 提前感谢

我正在尝试为一个应用程序配置反向代理。 我正在使用Apache2.2Web服务器 下面是我的配置规则

代理请求关闭

代理主机

ProxyPass/app/()

ProxyPassReverse/应用程序/

问题: 当我点击本地服务器的url时,比如myserver.co.in/app/ 第一页即将到来(应用程序登录页)。在该应用程序重定向到url myserver.co.in/home/index.html之后,重定向失败。因为url中缺少“/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>

DocumentRoot“/www/example2”
代理请求关闭
代理主机
ProxyPass/应用程序/(http://11.11.111.11:123/)
ProxyPassReverse/应用程序/http://11.11.111.11:123/
#这里还有其他指示

您可以修改应用程序以添加
/app
前缀或使用
mod\u proxy\u 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>
ProxyPass/app/(http://11.11.111.11:123/)
ProxyPassReverse/应用程序/http://11.11.111.11:123/
ProxyHTMLMAPhttp://11.11.111.11:123/ /应用程序/
可代理的
ProxyPassReversehttp://11.11.111.11:123/
SetOutputFilter代理html
ProxyHtmlURL/应用程序/
ProxyHTMLURLMap/app/app

您需要修复从应用程序返回的路径。您必须在必要时为它生成的URL添加前缀
/app