O Proxy Pass via ajp não funciona para o URL com hash

0

Eu tenho o apache na frente do Jboss trabalhando na porta 80 e o jboss escuta o 8080. O Apache encaminha cada pedido para o Jboss. Portanto, seu cenário padrão tranquilo nada extravagante. . .

Minha primeira tarefa foi registrar o ip real no log do jboss. (Porque eu tenho proxy dentro do servidor apache e reescrever o mecanismo.)

<VirtualHost *:80>
  ServerName test.com
  ServerAlias test.com
  CustomLog /var/log/httpd/access.log combined

  RewriteEngine on
  RewriteLogLevel 5
  RewriteLog "/var/log/httpd/rewrite.log"
  RewriteRule   ^/test.txt$ /someurl/search.cgi?iHash=somehash [P]
  RewriteRule   ^/test2$ /just/static/url/ [P]
  ProxyRequests off
  <Proxy *>
      Order deny,allow
      Allow from all
 </Proxy>
       ProxyPass / http://test.com:8080/
        ProxyPassReverse / http://test.com:8080/

Então resolvi esse problema com ajp:

<Location /test2>
 ProxyPass ajp://localhost:8009/just/static/url/
 ProxyPassReverse ajp://localhost:8009/just/static/url/
</Location>

Mas agora o problema é que ele só funciona para o URL estático e não para o URL com hash. O problema é que o apache meio que redireciona o url, mas eu recebo o erro HTTP Status 404 do Jboss. Talvez alguém tenha o mesmo problema ou conheça a solução. :)

    
por Fircx 05.03.2012 / 09:56

1 resposta

0

Você pode usar mod_jk com ajp.

Primeiro configure o Jboss para trabalhar com mod_jk, por exemplo: jboss + jk

Suponho que eu suponho que as configurações da porta do conector para 8009. Você pode configurar seu apache com mod_jk e ajp para redirecionamento. E monte seu URL com:

<IfModule mod_jk.c>
 # a list of Server instances
 JkWorkerProperty worker.list=JBossA
 # connection properties to instance A on localhost
 JkWorkerProperty worker.tomcatA.type=ajp13
 JkWorkerProperty worker.tomcatA.host=localhost
 JkWorkerProperty worker.tomcatA.port=8009
 # some other configuration
 JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
 # forwarding URL prefixes to Server instances
 JkMount /APPUrl/* JbossA
</IfModule>

e workers.properties com:

worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.balancer.balance_workers=node1
worker.node1.reference=worker.template
worker.node1.host=localhost
worker.node1.port=8109
worker.node1.activation=A
worker.balancer.balance_workers=node2
worker.node2.reference=worker.template
worker.node2.host=localhost
worker.node2.port=8209
worker.node2.activation=A
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
    
por 03.01.2013 / 18:49