2011-02-07 2 views
2



Я надеюсь, что здесь некоторые трещины вокруг, которые можно легко решить вопрос, который я борюсь с даже после поиска на нескольких форумах: Мне нужно поместить сервер GlassFish v3 приложений позади веб-сервер Apache 2.2.x как некоторые части, которые предоставляет мой webhoster, например веб-почта, на веб-сервере (поэтому я не могу отключить это). Следовательно, я решил использовать более новое решение «mod_proxy_ajp» (которое поставляется с Apache из коробки) вместо более сложного «mod_jk» для передачи запросов через Apache в Glassfish. То, что я не сделал до сих пор это:

Apache включает в себя «/etc/httpd/conf.d/proxy_ajp.conf», который содержит:Apache перед GlassFish v3 с помощью SSL с использованием mod_proxy_ajp

  • LoadModule proxy_ajp_module модули/mod_proxy_ajp.so
  • PROXYPASS/почту!
  • ProxyPass/AJP: // локальный: 8080/
  • ProxyPassReverse/AJP: // локальный: 8080/

Glassfish:

  • HTTP-слушателем-1 прослушивает 8080 с «JK слушатель»включен
  • HTTP-слушатель-2 прослушивает 8181 и включена имеет безопасность, используя мой SSL-сертификат

Но что я хотел бы сделать это:

  1. маршрутизировать все запросы на «https://webmail.mydomain.com» в Apache (веб-услуг хостинга электронной почты, во внешнем интерфейсе)
  2. маршрута все другие запросы HTTP и HTTPS на Glassfish. Для HTTP для моего HTTP-прослушивателя Glassfish-1 на 8080 или 8009 для HTTPS с использованием моего SSL-сертификата, зарегистрированного в моем HTTP-прослушивателе Glassfish-2 на 8181 (в обоих направлениях пропустить и отменить эти порты не должны быть видимыми для пользователя)
  3. Либо принудительно перенаправить все запросы в Glassfish на HTTPS или на основе конфигурации безопасности web.xml для определенных ресурсов (somefile.html) заставить переключиться с HTTP на HTTPS (или любое другое решение для этого)

Если кто-то может предоставить краткое описание для решения этих 3 задач, я был бы очень доволен, поскольку я не настолько глубоко в веб-администрировании Java.
Спасибо заранее и веселит
~ limubai

ответ

4

То есть много вопросов! Похоже, вы пытаетесь прокси GlassFish через Apache, чтобы пользователи могли получать доступ к вашим приложениям на стандартных портах (80 и 443), и у вас есть несколько приложений, несколько доменов и вы хотите использовать SSL.

Ну, у вас впереди много работы! Вероятно, вам придется искать виртуальный хостинг на Apache; в частности, один виртуальный хост для webmail.mydomain.com, а затем другой для mydomain.com.

Если у вас нет двух IP-адресов (двух сетевых адаптеров) на вашем веб-сервере, вам придется использовать виртуальный хостинг на основе имени. Имейте в виду, что виртуальный хостинг на основе имени и SSL не работают вместе; вам, вероятно, придется использовать SSL-сертификат с общим именем mydomain.com и псевдоним webmail.mydomain.com (расширение altSubjectName).

Информация о настройке Apache можно найти здесь:

http://httpd.apache.org/docs/2.2/vhosts/

Информация об использовании имен на основе виртуального хостинга с помощью SSL можно найти здесь:

http://wiki.apache.org/httpd/NameBasedSSLVHosts

Информация о настройке GlassFish можно найти здесь:

http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gfaad.html