Пропуск прокси через ajp не работает для хешированного URL

1284
Fircx

У меня есть apache перед Jboss, работающим на 80 портах, а jboss слушает 8080. Apache перенаправляет каждый запрос в Jboss. Так что в его тихом стандартном сценарии ничего особенного., ,

Моей первой задачей было зарегистрировать настоящий ip в журнале jboss. (Потому что у меня есть прокси внутри сервера Apache и переписать Engine.)

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

Итак, я решил эту проблему с помощью ajp:

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

Но теперь проблема в том, что он работает только для статического URL, а не для хешированного URL. Проблема в том, что apache вроде перенаправляет URL, но я получаю ошибку HTTP Status 404 от Jboss. Может быть, у кого-то была такая же проблема или известно решение. :)

0

1 ответ на вопрос

0
Angel

Вы можете использовать mod_jk с ajp.

Сначала настройте Jboss для работы с mod_jk, например: jboss + jk

Я полагаю, я предполагаю, что параметры порта соединителя 8009. Вы можете настроить ваш apache с mod_jk и ajp для перенаправления. И установите ваш URL с помощью:

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

и работники. свойства с:

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 

Похожие вопросы