首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache ProxyPass

Apache ProxyPass
EN

Server Fault用户
提问于 2009-08-13 13:30:45
回答 4查看 1.8K关注 0票数 1

我有一个具有下一个结构的应用程序:

代码语言:javascript
复制
/application (html files)
/application/css (css files)
/application/img (images)
/application/classes -> I want this to redirect to a application server (JBoss)

如何配置apache?

如果我这么做了,为什么不起作用:

代码语言:javascript
复制
ProxyPreserveHost On
ProxyPass /application !
ProxyPass /application/css !
ProxyPass /application/img !
ProxyPass /application/classes http://jboss_server:8080/
ProxyPassReverse /application/classes http://jboss_server:8080
EN

回答 4

Server Fault用户

回答已采纳

发布于 2009-08-13 14:25:13

确保服务器具有相同的结构!

代码语言:javascript
复制
ProxyPass /application/classes http://jboss_server:8080/application/classes
ProxyPassReverse /application/classes http://jboss_server:8080/application/classes

您不必使用其他proxypass值,因为"classes“在"application”下!因此,只有当您使用/application/classes而不是使用/application/img时,代理才会被调用。

票数 3
EN

Server Fault用户

发布于 2009-08-13 14:07:14

我想你的语法有点不对。它应该是:

代码语言:javascript
复制
  ProxyPass /mirror/foo/ http://foo.com/

也许是这样的:

代码语言:javascript
复制
ProxyPass                  /         http://sso.domain.com/
ProxyPassReverse         /           http://sso.domain.com/
票数 0
EN

Server Fault用户

发布于 2009-08-13 14:21:52

我用mod_rewrite来做这个--这给了我更多的力量。

代码语言:javascript
复制
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI}                       !^/server-info
RewriteCond %{REQUEST_URI}                       !^/server-status
RewriteRule ^/application/classes(.*)          http://jboss_server:8080/$1   [P,L,NS]

第一行将使HTTPd服务于在DOCUMENT_ROOT中可以找到的任何请求文件,而无需将请求转发到app服务器。我在web服务器上部署了一组单独的静态文件。

另外两行将防止HTTPd服务器-*页面被代理,因此它们将由HTTPd提供服务。您可以添加更多此类异常,以便由HTTPd处理。

在这种情况下,指令ProxyPreserveHost和ProxyPassReverse也可能有用。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/53735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档