/ 中存储网

Apache2+Weblogic配置Proxy代理服务

2013-09-20 10:32:02 来源:IT技术网
关于Apache2+Weblogic配置Proxy

今天从中午到现在都很郁闷,没心情做事。

傍晚有同事问起Apache中配置mod_weblogic的问题。总算有点东西可以发泄了。

虽然敷衍了事搞定了,但又能证明什么呢? 打杂就是打杂!

一点喜悦都没有,只盼着快到周末回去看老婆。

可恶的时间啊,一边盼它快点过去,一边又恨它过得太快,好多事情都还没做完呢。

反正没东西可写,把刚才的打杂细节描述一下吧。

问题是这样:

1。原先使用Apache2+mod_wl_20.so来配置代理,把内网中两台服务器上各自的web应用发布出来。Apache自身并不发布web站点。

2。现在运行Apache的那台服务器本身也要发布数个web站点供测试用。

3。发现无法同时满足1,2两个要求,如果使用了IfModule,那么自身的81,85等端口的virtualhost便无法访问,例如,访问http://testserver:85 ,页面显示错误为:

Failure of server APACHE bridge:

Neither cluster nor server host parameter was specified in httpd.conf.  Cannot continue.

只要屏蔽IfModule便能正常访问

以下是配置错误的httpd.conf

httpd.conf

Listen 7001

Listen 8001

Listen 85

LoadModule weblogic_module modules/mod_wl_20.so

<VirtualHost *:85>

DocumentRoot "c:/www-temp"

DirectoryIndex test.htm

</VirtualHost>

<VirtualHost *:7001>

    ServerAdmin [email protected]

   <IfModule mod_weblogic.c>

        WebLogicHost 192.168.1.119

        WebLogicPort 7001

       MatchExpression *

  </IfModule>

</VirtualHost>

<VirtualHost *:8001>

    ServerAdmin [email protected]

<IfModule mod_weblogic.c>

        WebLogicHost 192.168.1.136

        WebLogicPort 8001

        MatchExpression *

    </IfModule>

</VirtualHost>

后来做了一些修改,使用Location来代替IfModule,便成功了。

以下是能正常工作的httpd.conf

httpd.conf

Listen 7001

Listen 8001

Listen 85

LoadModule weblogic_module modules/mod_wl_20.so

<VirtualHost *:85>

DocumentRoot "c:/www-temp"

DirectoryIndex test.htm

</VirtualHost>

<VirtualHost *:7001>

ServerName example.com

<Location / >

SetHandler weblogic-handler

WebLogicHost 192.168.1.119

WebLogicPort 7001

Debug ON

DebugConfigInfo ON

</Location>

</VirtualHost>

<VirtualHost *:8001>

ServerName 

example.com

<Location / >

SetHandler weblogic-handler

WebLogicHost 192.168.1.136

WebLogicPort 8001

Debug ON

DebugConfigInfo ON

</Location>

</VirtualHost>