Разъяснение redirectPort в Tomcat: ограничения безопасности HTTPS и коннекторы
Дата публикации:
Обновлено:
Статьи > Разъяснение redirectPort в Tomcat: ограничения безопасности HTTPS и коннекторы
Статус 2026 года и безопасное использование
Вывод: redirectPort сообщает соединителю Tomcat, не поддерживающему TLS, куда перенаправить запрос, когда ограничение безопасности развернутого веб-приложения требует конфиденциального транспорта. Он не создает соединитель TLS, не принудительно использует HTTPS для каждого запроса и не заменяет политику перенаправления пограничного прокси.
Чему вы научитесь
- Как
<transport-guarantee>CONFIDENTIAL</transport-guarantee>активирует перенаправление, управляемое контейнером. - Почему целевой порт должен соответствовать работающему соединителю HTTPS или правильно спроектированной топологии прокси.
- Чем прямой TLS Tomcat отличается от завершения TLS на HTTP-сервере Apache или другом прокси-сервере.
Для кого: веб-администраторы Java, проверяющие параметры соединителя Tomcat и ограничений безопасности приложений.
Актуальность на 2026 год Приведенный ниже пример Tomcat 9 остается концептуальным, но атрибуты соединителя и обработка прокси-сервера должны соответствовать поддерживаемому семейству Tomcat. Избегайте циклов перенаправления и неправильных схем, сознательно настраивая заголовки доверенных прокси.
Примечание по безопасности. Команды и примеры конфигурации из исходной статьи не проверялись повторно в современной производственной среде. Перед применением проверьте поддерживаемые версии, резервные копии, контроль доступа и процедуру отката в отдельной тестовой среде.
Официальные первоисточники
Обзор
Когда я посмотрел на настройки порта в конфигурации сервера Tomcat server.xml, там был параметр под названием 'redirectPort', но я не смог понять, что это за параметр, когда погуглил, поэтому я поискал его.
Следующие настройки.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Оглавление
1. Что такое redirectPort?
Как выяснилось, речь идет о настройке, которая перенаправляет вас при доступе к странице, на которой указано, что требуется SSL.
Если значения конфигурации server.xml были
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
При обращении к URL-адресу "http://hoge:8080/hoge.html" происходит перенаправление пользователя на URL-адрес "https://hoge:8443/hoge.html".
Тот факт, что SSL является обязательным, должен быть определен в "web.xml". (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)При настройке SSL является обязательным. Включите следующую информацию в web.xml.
~сокращение~
<security-constraint>
<web-resource-collection>
<web-resource-name>twx-portal</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
Поскольку url-паттерном является "/", эта настройка делает все URL-адреса SSL-требовательными и перенаправляющими. Если SSL не указан как обязательный, это значение конфигурации, которое не используется. Хотя "redirectPort="8443" установлен в значении по умолчанию Tomcat, сама настройка активации порта 8443 кажется недействительной при значении по умолчанию Tomcat, поэтому может быть много людей, для которых "redirectPort="8443" установлен без осознания, но Я думаю, что есть много людей, для которых 8443 порт назначения перенаправления не активирован.
1-1. основа
Мы хотели бы описать основания для вышеуказанных выводов. На странице Tomcat указано следующее.
http://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html
“If you change the port number here, you should also change the value specified for the redirectPort attribute on the non-SSL connector. This allows Tomcat to automatically redirect users who attempt to access a page with a security constraint specifying that SSL is required, as required by the Servlet Specification.”
Речь идет о "доступе к странице с ограничениями безопасности, указывающими, что требуется SSL, как того требует спецификация сервлетов". Это параметр web.xml, который вы только что настроили. Дело в том, что требование SSL является спецификацией сервлета, и, похоже, при его применении происходит перенаправление.
2. резюме
В этом разделе описываются настройки redirectPort в файле server.xml Tomcat. Обратитесь к этому при настройке redirectPort.