У меня есть настройка tomcat с перенаправлением порта 80 на порт 443. Сертификаты в порядке.
Если я открываю страницу http://connectors.rtdi.io/, браузер перенаправляется на https://connectors.rtdi.io/.
Если я открываю http://connectors.rtdi.io/democonnector, перенаправление на https также происходит.
Но когда я открываю страницу http://connectors.rtdi.io/democonnector/ui5/Home,, браузер не переключается на https!?!?!
Подробности:
Чтобы включить https, к файлу web.xml сервера добавляется
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<!-- auth-constraint goes here if you require authentication -->
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
В моем собственном веб-приложении URL http://connectors.rtdi.io/democonnector получает перенаправлениена страницу https, внутри которой есть перенаправление метаобновления на ui5 / Home, где отображается форма входа в систему.
<html><head><meta http-equiv=\"refresh\" content=\"0; URL=ui5/Home\"></head>...
Когда я открываю эту подстраницу напрямую, через http://connectors.rtdi.io/democonnector/ui5/Home, нет перенаправления на httpsпроисходит, и страница входа отображается через http.
Я предполагаю, следовательно, что это web.xml веб-приложения с его ограничением безопасности?
<security-constraint>
<web-resource-collection>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/ui5/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>connectorview</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login</form-login-page>
<form-error-page>/error</form-error-page>
</form-login-config>
</login-config>
Но есть что-то странное.
Поскольку сервер web.xml настраивает CONFIDENTAL для / * всех страниц, democonnector / login, демоСоединитель / index и democonnector / ui5 / Home должны обрабатываться одинаково.
Хорошо, давайте предположим на минуту выше, что сбор веб-ресурсов для / ui5 / * сбрасывает КОНФИДЕНЦИАЛЬНО. Для теста я также добавил ограничение user-data с транспортной гарантией в этот web.xml - без изменений.
Я не хочу настраивать что-либо, связанное с SSL ввеб-приложение.
Я знаю, что вместо этого могу использовать клапан с перенаправлением и, вероятно, должен, но я бы тоже хотел это понять.
Кто-нибудь может заметить мою ошибку?