2012-06-01 2 views
0

У меня есть эта конфигурация:Glassfish HTTPS-перенаправление позади SSL offloader и Apache

  • HTTPS балансировки нагрузки/SSL offloader на порту 443
  • Apache HTTPD на порту 80 (разные IP), используя ProxyPass, ProxyPassReverse для пересылки чтобы ...
  • нескольких Glassfish доменов прослушивания на разных портах

Проблема: ни Glassfish, ни Apache знает, что запрос HTTPS. Перенаправления на такие URL, как «/index.jsp», переписываются в Glassfish как http://internal_ip/index.jsp, затем ProxyPassReverse перезаписывает http://public_ip/index.jsp. Проблема в том, что мне нужен этот URL-адрес: http*s*://public_ip/...

Как исправить это - есть ли какая-то конфигурация Glassfish, которую я могу изменить, или Apache httpd.conf?

ответ

0

Я вижу два решения, что:

1) использовать loadbalancer манипулировать апачей ответ (iRule в F5, Flex для A10 loadbalancers и т.д.)

2) создать что-то на loadbalancer отправить другое перенаправление на запросы, поступающие через HTTP, для использования HTTPS

+0

У меня уже есть перенаправление на место, поэтому весь контент передается через HTTPS. Проблема, которую я пытаюсь решить, - это всплывающие предупреждения IE «вы собираетесь получить доступ к небезопасному сайту», которые кратковременно мигают, когда браузер пытается следовать переадресации HTTP (и затем перенаправляется на HTTPS). – wrschneider

+0

Согласен, написать заголовок местоположения в ответ (аналогично Apache ProxyPassReverse, если Apache выполнил баланс нагрузки и разгрузку SSL), вероятно, лучшее решение – wrschneider