A autenticação básica do NTLM falha atrás do http apache somente quando o balanceamento de carga

1

Eu configurei um proxy reverso e um balanceamento de carga do apache http .

Eu já sei que o Proxy Reverso inverte o diálogo NTLM , e leva a algo como Basic Auth contra o Active Directory, o que é suficiente para mim.

NTLM é suportado pelo jCIFS no meu JBoss e está funcionando bem quando:

  • Eu uso meu endereço do JBoss diretamente ( 10.1.2.12:8080/myapp )
  • Eu uso meu endereço RP do Apache ( myapp-homintranet.myorg.com/myapp ) sem um segundo membro

Mas desde a adição do segundo membro ao balanceamento de carga, ele não funciona de maneira alguma!

<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>

Se eu remover o segundo membro (servidor 02), ele funcionará novamente.

Eu não sei como resolver isso. Alguém pode me ajudar?

PS: Se houver uma maneira de destacar a sintaxe apache/conf , diga-me!

Meus funcionários conf , no caso ...

# 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
    
por Jean-Rémy Revy 15.06.2012 / 15:21

1 resposta

1

Não encontrei nenhuma solução real para esse problema. Nós apenas mudamos o nosso método auth (usando Kerberos e mod_auth_kerb , que eram difíceis de configurar).

Acho que houve um problema entre o virtual IP e o Windows realm. Nós também encontramos este problema com o Kerberos. Mas nós não testamos novamente.

Espero que isso ajude alguém.

    
por 25.08.2012 / 09:59