我试图设置mod_proxy_balancer路由请求到2 jboss7服务器。 目前,我正在使用httpd.conf中的以下configuration在本地机器上testing此设置:
ProxyRequests Off <Proxy \*> Order deny,allow Deny from all </Proxy> ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid scolonpathdelim=On <Proxy balancer://mycluster> BalancerMember http://localhost:8080 route=node1 BalancerMember http://localhost:8081 route=node2 Order allow,deny Allow from all </Proxy>
并在每个jboss的standalone.xml文件中定义了jvmRoute系统属性:
<system-properties> <property name="jvmRoute" value="node1"/> </system-properties>
在http:// localhost / myapp中,应用程序是可访问的,但java会话不能正确构build。 因此身份validation不起作用。
有趣的是,如果我closures了一个JBoss实例,那么一切正常。
正如我已经尝试了几个设置,我很感激任何进一步的build议。
我终于得到configuration工作。
我必须在JBoss7configuration(standalone.xml)中添加以下设置:
<system-properties> <property name="jvmRoute" value="node1"/> <property name="UseJK" value="true"/> </system-properties>
和:
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" **instance-id="node1" native="false">
…
以上设置适用于独立实例,但对于域configuration,您需要将“jvmRoute”添加到服务器部分下的host.xml
<server name="server-one" group="server-one-group" auto-start="true"> <system-properties> <property name="jvmRoute" value="server1" boot-time="true"/> </system-properties> </server>
对所有节点重复相同的操作
<server name="server-one" group="server-one-group" auto-start="true"> <system-properties> <property name="jvmRoute" value="server2" boot-time="true"/> </system-properties> </server>
如果您正在使用mod_jk在您的节点之间进行负载平衡,则在Web服务器上,您需要使用上面configuration的jvmRoute来定义节点,如下所示:worker.properties文件包含:
worker.list=oblb worker.oblb.type=lb worker.oblb.balance_workers=server1,server2 worker.oblb.sticky_session=true worker.server1.reference=worker.template worker.server1.host=Appserverhost1.example.com worker.server1.port=8009 worker.server2.reference=worker.template worker.server2.host=Appserverhost2.example.com worker.server2.port=8009 worker.template.type=ajp13