У меня есть небольшая проблема с использованием SSL на Tomcat, который находится за Apache. Я использую Google все утро, чтобы попытаться найти хорошее решение, но пока ничего.Tomcat за Apache: использование SSL с j_security_check
Как часть моей конфигурации SSL VirtualHost У меня есть
<Location /MyApp/>
ProxyPass http://localhost:8080/MyApp/
</Location>
Это прекрасно работает в большинстве случаев, но j_security_check, после успешного входа в систему из https://mysite.com/MyApp, перенаправляет на HTTP страницу http://mysite.com/MyApp/secret.html вместо того, чтобы оставить его в качестве HTTPS страница https://mysite.com/MyApp/secret.html. Это не только конфиденциальный вход, но и данные, которые передаются, поэтому мне нужно сохранить HTTPS. Когда я добавляю к безопасности-контрсилам приложения
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
перенаправляет к https://mysite.com:8443/MyApp/secret.html. Я понимаю, что он перенаправляется на 8443, потому что server.xml имеет SSL, настроенный на 8443, но поскольку это проксировано через Apache, оно должно быть на самом деле должно быть 443.
Я понимаю, что у меня нет ProxyPassReverse, но это не то, что я могу добавить в разделе конфигурационного файла Apache
Как заставить j_security_check либо перенаправить относительный (так что не менять https на http), либо перенаправить на 443 вместо 8443? Это что-то, что я должен применять с помощью Tomcat или mod_proxy от Apache?
Приветствия
Nik
Спасибо, я посмотрю фильтры :-) – niklassaers