我build立了一个Apache的http反向代理和负载均衡。
我已经知道Reverse Proxying会打破NTLM对话框,并导致类似于Active Directory的基本身份validation,这对我来说已经足够了。
NTLM在我的JBoss上被jCIFS支持,并且在以下情况下工作正常:
10.1.2.12:8080/myapp ) myapp-homintranet.myorg.com/myapp ) 但是由于增加了第二个成员进行负载均衡,所以根本不起作用!
<VirtualHost *:80> ServerName myapp-homintranet.myorg.com ServerAlias myapp-homintranet ProxyRequests Off ProxyPass /myapp balancer://jbosscluster/myapp stickysession=JSESSIONID nofailover=On ProxyPassReverse /myapp http://server01.myorg.com:8080/myapp #Conf load-balancing Jboss <Proxy balancer://jbosscluster> BalancerMember http://server01.myorg.com:8080 BalancerMember http://server02.myorg.com:8080 ProxySet lbmethod=byrequests </Proxy> </VirtualHost>
如果我删除第二个成员(服务器02),它再次工作。
我不知道如何解决这个问题。 有人能帮我吗 ?
PS:如果有一种突出显示apache/conf语法的方法,告诉我!
我的工作人员conf ,以防万一…
# Define list of workers that will be used # for mapping requests worker.list=loadbalancer,status # Define Node1 = server01 # modify the host as your host IP or DNS name. worker.node1.port=8009 worker.node1.host=10.1.2.11 worker.node1.type=ajp13 worker.node1.lbfactor=1 #worker.node1.cachesize=10 # Define Node2 = server02 # modify the host as your host IP or DNS name. worker.node2.port=8009 worker.node2.host=10.1.2.12 worker.node2.type=ajp13 worker.node2.lbfactor=1 #worker.node1.cachesize=10 # Load-balancing behaviour worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=SERVER1_node1,SERVER2_node1 worker.loadbalancer.sticky_session=1 # Status worker for managing load balancer worker.status.type=status
我没有find任何真正的解决这个问题。 我们只是改变了我们的身份validation方法(使用Kerberos和mod_auth_kerb ,这是很痛苦的configuration)。
我认为在虚拟IP和Windows领域之间存在一个问题。 我们也遇到了Kerberos的这个问题。 但是我们还没有再testing一下。
我希望这会帮助别人。