ProxyPass 有 2 个案例

ProxyPass 有 2 个案例

制定以下两条规则效果很好:

ProxyPass / http://localhost:8080/app
ProxyPassReverse / http://localhost:8080/app

当客户端访问 domain.com 时,Apache 会调用应用服务器并且按预期工作。

问题是有一个由应用服务器生成的目录,我不想在其前面添加/应用程序

例如:

domain.com/app/styles/file.css (actual case)
domain.com/styles/files.css  (this is how I want this)

有任何想法吗?

答案1

我仍然不能 100% 确定你的问题出在哪里。如果你想让浏览器看到类似这样的内容

<link rel="stylesheet" href="/styles/main.css" type="text/css" />

它要求主.csstomcat 托管的文件/app/styles/main.css

尝试:

ProxyPass /styles http://localhost:8080/app/styles
ProxyPassReverse /styles http://localhost:8080/app/styles

ProxyPass / http://localhost:8080/app
ProxyPassReverse / http://localhost:8080/app

相反,如果你想让浏览器看到类似这样的内容

<link rel="stylesheet" href="/apps/styles/main.css" type="text/css" />

它得到了主.csstomcat 托管的文件/styles/main.css

尝试:

ProxyPass /apps/styles http://localhost:8080/styles
ProxyPassReverse /apps/styles http://localhost:8080/styles

ProxyPass / http://localhost:8080/app
ProxyPassReverse / http://localhost:8080/app

无论哪种情况,Apache 都会按照配置文件中出现的顺序进行匹配。

相关内容