今天从中午到现在都很郁闷,没心情做事。
傍晚有同事问起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> |