Apache Proxy传递和静态资源

时间:2015-12-26 19:52:06

标签: apache proxy

我有两个应用程序在我的localhost上运行,并像这样配置proxypass

ProxyPass /app1 http://192.168.56.102:10001/
ProxyPass / http://192.168.56.102:82/

现在,当我点击网址http://192.168.56.102/app1时,我有app1的内容 如果我使用http://192.168.56.102我有我的第二个应用程序的内容

app1索引html包含<link href="/style.css" rel="stylesheet"> 并且它无法正常工作,因为它不使用http://192.168.56.102/app1作为基本网址,而是使用http://192.168.56.102/而我的资源无法在http://192.168.56.102/style.css加载,因为它没有重定向到正确的应用url并且不包含style.css。

在app2上运行良好,因为考虑到我的代理规则,根网址为http://192.168.56.102

那么有没有办法实现我想要的?

代理app1时,请使用静态内容的网址http://192.168.56.102/app1 如果我使用<link href="style.css" rel="stylesheet">它可以工作,但它不是我的应用程序,每个静态资源都以/

为前缀

2 个答案:

答案 0 :(得分:1)

如果您的内容并非由于在/之外的任何内容提供服务而感到高兴,那么它并不代理友好。您可以使用mod_rewrite检查HTTP_REFERER并在代理规则之前添加/ app1前缀。

答案 1 :(得分:-1)

你必须在tomcat的webapps文件夹中为每个项目创建2个文件夹。 tomcat / webapps /通常你必须是一个文件夹,但如果你想使用两个项目你必须配置server.xml来使用这两个。的Tomcat / CONF / server.xml中