Вместо того, чтобы использовать ajp, я рекомендовал бы использовать mod_proxy. Я сделал это сам с большим успехом. Путем мне настраивали мой материал, я просто настраиваю виртуальный домен, чтобы указать на каталог и создать .htaccess файл как таковой:
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Конечно, изменитесь для соответствия портам HTTP. У кота (который я использую), я также редактирую в server.xml под конференцией. Для Коннектора на порте 8080, я установил proxyName для соответствия виртуальному хосту и proxyPort к 80.
Я должен добавить примечание, что я использую динамические виртуальные хосты к своей конфигурации, своей конфигурации сайтов (я использую debian) под/etc/apache2/sites-available взглядами как таковыми:
<VirtualHost IP>
Servername yourdomain.com
ServerAlias *.yourdomain.com
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog /var/www/yourdomain.com/logs/custom.log vcommon
ErrorLog /var/www/yourdomain.com/logs/error.log
TransferLog /var/www/yourdomain.com/logs/access.log
RewriteLog/var/www/yourdomain.com/logs/rewrite.log
RewriteLogLevel 2
VirtualDocumentRoot /var/www/yourdomain.com/sites/%1/html
VirtualScriptAlias /var/www/yourdomain.com/sites/%1/cgi-bin
LogLevel debug
<Directory /var/www/yourdomain.com/sites/>
AllowOverride All
</Directory>
</VirtualHost>
Это означает, что stackoverflow.yourdomain.com перейдет к/var/www/yourdomain.com/sites/stackoverflow/html
Я знаю, что Вы не попросили последнюю часть, я просто обеспечил ее для предоставления полного обзора от моей установки, и как она вписывается в .htaccess файл с ProxyPass и ProxyPassReverse
Можно использовать Apache для указания на несколько различных серверов переменных типов.
# Drop me in a file called my_proxies.conf in conf.d # Apache picks up everything in conf.d/*.conf NameVirtualHost *:80 <VirtualHost *:80> # This Apache serves up images and cgi-bin ProxyPass /images ! ProxyPass /cgi-bin ! # # Got stuff on this server (Jetty, Glassfish, Tomcat, or Apache ) # ProxyPass /foo http://localhost:8080/foo ProxyPassReverse /foo http://localhost:8080/foo Redirect /foo http://localhost:8080/foo ErrorLog /tmp/foo_error_log CustomLog /tmp/foo_access_log # # Root comes last # Let's put our main app on its own special server # ProxyPass / http://localhost:9090/ ProxyPassReverse / http://localhost:9090/ ErrorLog /tmp/bar_error_log CustomLog /tmp/bar_access_log # </VirtualHost>
Я бы посоветовал вам использовать модуль Apache mod_loadbalancer, который был специально реализован для использования с сервером приложений Glassfish и способен реагировать на команды конфигурации сервера приложений Glassfish, инициированные из консоли администратора.
См. Пример - https://blogs.oracle.com/kshitiz/entry/load_balancer_plugin_in_glassfish