Какова самая простая конфигурация apache mod_proxy для Glassfish?

У меня есть сервер с Apache2 (на порту 80) и Glassfish (на порту 8080). Я хотел бы настроить Apache для прозрачного прокси-запроса к определенному виртуальному хосту на сервер Glassfish.
Я пробовал это, но это не работает:

<VirtualHost *>
ServerName tognettiimmobiliare.com
ServerAlias www.tognettiimmobiliare.com

ProxyRequests on

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPreserveHost On

ProxyPass / http://tognettiimmobiliare.com:8080/tognettiWEB/
ProxyPassReverse / http://tognettiimmobiliare.com:8080/tognettiWEB/

</VirtualHost>

Кто-нибудь может сказать мне, почему? Спасибо


person s.susini    schedule 16.03.2011    source источник


Ответы (3)


Я проксирую Jenkins и Redmine из другого порта с помощью mod_proxy, моя конфигурация выглядит примерно так, без дополнительной части <Proxy>, которая, как мне кажется, не нужна:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyPass /jenkins/ http://localhost:8080/jenkins/
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/

ProxyPass /redmine/ http://localhost:81/redmine/
ProxyPassReverse /redmine/ http://localhost:81/redmine/

Есть две вещи, о которых следует помнить:

  • Контекст должен быть одинаковым как в прокси-, так и в проксируемых URL-адресах, например /jenkins/ и .../jenkins/.

  • Вы не должны использовать внешние URL-адреса для проксируемой страницы, потому что тогда она попытается выйти в Интернет и подключиться оттуда, это медленно, и брандмауэры могут заблокировать порт. Используйте имена локальных компьютеров или IP-адреса.

person Frigo    schedule 17.08.2012

Я использую простой VirtualHost, который работает.

<VirtualHost *:80>
#   ServerName www.itmanx.com

    ProxyPass / http://www.itmanx.int/
    ProxyPassReverse / http://www.itmanx.int/
</VirtualHost>

убедитесь, что у вас загружены mod_proxy и mod_proxy_http

person Christian    schedule 29.01.2012

Я включил JK на Glassfish, перейдя в «Конфигурации» -> «Конфигурация сервера» -> «Служба HTTP» -> «Прослушиватели Http» -> «jk-listener» и включил его.

Затем настройте в моей конфигурации Apache прокси таким образом, чтобы данные SSL также передавались.

<Location /util>
SSLOptions +StdEnvVars +ExportCertData
ProxyPass ajp://localhost:8004/util
</Location>

Однако есть одно предостережение: mod_proxy_wstunnel, похоже, не работает с этим, или, по крайней мере, я еще не выяснил, как это сделать, поскольку я использую WSS и https://issues.apache.org/bugzilla/show_bug.cgi?id=55320 требуется версия 2.4.10, которая еще не выпущена.

person Archimedes Trajano    schedule 26.06.2014