У меня есть 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. Может быть, у кого-то была такая же проблема или известно решение. :)

1 ответ1

0

Вы можете использовать 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .