使用Weblogic的Apache 2.2 ProxyPass - 不能使用root

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Weblogic的Apache 2.2 ProxyPass - 不能使用root相关的知识,希望对你有一定的参考价值。

我正在尝试配置Apache 2.2代理服务器以指向多个Weblogic实例。除了一个小问题,我做得还不错。

我可以让这个工作:ProxyPass / QA http://IP:PORT/

http://IP:PORT/QA

但我不能让这个工作:ProxyPass / http://IP:PORT/

http://IP:PORT/

我不明白为什么我不能将ProxyPass映射到根目录(/)

答案

我相信Apache不允许它。这里存在潜在的问题,即冲突指令的顺序和优先级;如果您收到/ QA /请求,请遵循/ QA匹配或/匹配?我猜你可能试图在同一地址/端口上映射多个托管服务器,而不必识别每个子路径,即单个规则而不是多个。还有与documentRoot的冲突。可以说,如果你在root上匹配,那么Apache层的重点是什么 - 一切都是直接传递的,而Apache本身并没有提供任何服务。 (这并不意味着没有正当理由这样做,但我可以看到为什么Apache可能会这么认为)。

我知道这样做的唯一方法是在虚拟虚拟主机内部(不确定这是否可以在唯一的侦听端口上,但我认为是这样):

<VirtualHost *:8080>
    ProxyPass / http://IP:PORT/
    ProxyPassReverse / http://IP:PORT/
</VirtualHost>

您还可以查看WebLogic代理插件:

<Location />
    SetHandler weblogic-handler
</Location>

<IfModule mod_weblogic.c>
    WebLogicHost IP
    WebLogicPort PORT
</IfModule>
另一答案

亚历克斯,谢谢你的帮助!

对于那些尝试设置类似环境的人来说,我已经粘贴了我在下面所做的事情。

ProxyRequests OFF

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule headers_module modules/mod_headers.so

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://cluster>
    BalancerMember http://IP:PORT/ route=1
    BalancerMember http://IP:PORT/ route=2
    ProxySet stickysession=ROUTEID
</Proxy>

<VirtualHost *:80>
    ProxyPass / balancer://cluster/
    ProxyPassReverse / balancer://cluster/
</VirtualHost> 

以上是关于使用Weblogic的Apache 2.2 ProxyPass - 不能使用root的主要内容,如果未能解决你的问题,请参考以下文章

weblogic是啥啊,有人说weblogic服务器,weblogic可以代替apache或者tomcat或者nginx做web服务器吗

linux ax5.4下 如何启动和停止weblogic和apache。请高人指点一下,说的详细些,谢谢!

在 weblogic 上使用 apache poi 3.13 导出 xlsx:文件格式或扩展名无效

apache2.4配置weblogic12c集群(linux)

apache代理weblogic集群办法

Weblogic+apache多虚拟主机