我开发了一个名为myapp的JSF应用程序部署在受管服务器managedServer1上的weblogic 12c http服务器和名为 mycluster 的同一集群中的managedServer2上。应用程序可以通过URL http://xx.xx.xx.xx(ip访问managedServer1):9080 / myapp。
我尝试通过configure httpd(httpd.conf)在weblogic集群的前面添加一个apache负载均衡器http服务器:
<VirtualHost *:80>
ServerName www.mywebsite.com.au
ServerAlias mywebsite.com.au
<Proxy balancer://mycluster>
BalancerMember http://xx.xx.xx.xx1:9080/myapp
BalancerMember http://xx.xx.xx.xx2:9080/myapp
</Proxy>
ProxyRequests off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass /myapp balancer://mycluster/
ProxyPassReverse /myapp balancer://mycluster/
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
<Location />
Require all granted
</Location>
</VirtualHost>
通过使用此配置,我可以通过URL
访问我的jsf应用程序http://www.mywebsite.com.au
直接
不幸的是,由于我的JSF应用程序在我的jsf页面中有很多ajax异步请求,因此apache反向代理无法正确处理它,总是导致会话丢失。我必须找到满足我的ajax请求的替代方法。
我同意Oracle建议为我的apache http服务器安装weblogic插件。安装插件后,我使用:
重新配置我的httpd.conf<VirtualHost *:80>
ServerName www.mywebsite.com.au
<IfModule mod_weblogic.c>
WebLogicCluster xx.xx.xx.xx1:9080,xx.xx.xx.xx2:9080
MatchExpression *.xhtml
</IfModule>
<Location /myapp>
SetHandler weblogic-handler
Require all granted
</Location>
</VirtualHost>
不幸的是。我必须通过调用URL访问我的JSF应用程序:
http://www.mywebsite.com.au/myapp
我的问题是:是否有另一种方法可以配置我的虚拟主机从root用户访问我的JSF应用程序? (http://www.mywebsite.com.au)没有应用程序路径。如果是,请指教!
答案 0 :(得分:0)
经过几天的工作,找到解决此问题的方法,httpd.conf更新为:
<Location />
SetHandler weblogic-handler
PathTrim /myapp
PathPrepend /myapp
Require all granted
</Location>
使用PathTrim和PathPrepend来映射URL。系统现在运作良好。
此问题可能有助于处于相同情况的其他任何人。