Как обрабатывать перенаправления входа Serlvet, которые пересекают границу виртуального хоста обратного прокси

Я пытаюсь настроить сервер приложений GlassFish за обратным прокси-сервером Apache. У меня это работает с обоими портами 80 и 443, но проблема заключается в переходе между ними, который происходит, когда пользователь обращается к странице, требующей аутентификации, в результате чего Glassfish вызывает перенаправление на страницу входа в систему, и, в свою очередь, требует SSL через Apache 443/GlassFish 8181. В этом случае браузер пользователя пытается напрямую получить доступ к исходному серверу, который в моем случае является localhost, поэтому фактически заставляет пользователя пытаться получить доступ к своей собственной локальной системе ( https://localhost:8181/myapp).

Чтобы добиться этого, я добавил следующее в httpd.conf:

<VirtualHost *:80>
ProxyPass /myapp http://localhost:8080/myapp
ProxyPassReverse /myapp http://localhost:8080/myapp
</VirtualHost>

И следующее к ssl.conf:

<VirtualHost _default_:443>
SSLProxyEngine on
ProxyPass /myapp https://localhost:8181/myapp
ProxyPassReverse /myapp https://localhost:8181/myapp
...

Я попытался добавить дополнительную директиву ProxyPassReverse, но это не сработало, возможно потому, что она не может обрабатывать протоколы переключения. Может быть, мне нужно добавить директиву RewriteRule? Или, может быть, мне нужно включить mod_proxy_html для перезаписи контента?

0 ответов

Другие вопросы по тегам