Wyjaśnienie Tomcat redirectPort: ograniczenia bezpieczeństwa HTTPS i konektory
Data publikacji:
Aktualizacja:
Artykuły > Wyjaśnienie Tomcat redirectPort: ograniczenia bezpieczeństwa HTTPS i konektory
Stan na rok 2026 i bezpieczne użytkowanie
Wniosek: redirectPort informuje łącznik Tomcat inny niż TLS, gdzie ma przekierować żądanie, gdy ograniczenie bezpieczeństwa wdrożonej aplikacji internetowej wymaga poufnego transportu. Nie tworzy łącznika TLS, nie wymusza protokołu HTTPS dla każdego żądania ani nie zastępuje zasad przekierowań Edge-Proxy.
Czego się nauczysz
- Jak
<transport-guarantee>CONFIDENTIAL</transport-guarantee>aktywuje przekierowanie zarządzane przez kontener. - Dlaczego port docelowy musi odpowiadać działającemu łącznikowi HTTPS lub prawidłowo zaprojektowanej topologii proxy.
- Czym różni się bezpośredni Tomcat TLS od zakończenia TLS na serwerze Apache HTTP Server lub innym serwerze proxy.
Dla kogo to jest przeznaczone: administratorzy sieci Java przeglądający ustawienia łącznika Tomcat i ograniczeń bezpieczeństwa aplikacji.
Stanowisko na rok 2026: Poniższy przykład Tomcat 9 pozostaje koncepcyjny, ale atrybuty złącza i obsługa serwera proxy muszą odpowiadać obsługiwanej rodzinie Tomcat. Unikaj pętli przekierowań i błędnych schematów, celowo konfigurując zaufane nagłówki proxy.
Uwaga dotycząca bezpieczeństwa: polecenia i przykłady konfiguracji z pierwotnego artykułu nie zostały ponownie uruchomione we współczesnym środowisku produkcyjnym. Przed użyciem sprawdź wspierane wersje, kopie zapasowe, kontrolę dostępu i procedurę wycofania w oddzielnym środowisku testowym.
Oficjalne źródła pierwotne
Przegląd
Kiedy sprawdzałem ustawienia portu w konfiguracji Tomcata w pliku server.xml, znajdowało się tam ustawienie o nazwie "redirectPort", ale nie mogłem się dowiedzieć, co to za ustawienie, więc sprawdziłem je w wyszukiwarce.
Następujące ustawienia.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Spis treści
1. Co to jest redirectPort?
Okazuje się, że jest to ustawienie, które przekierowuje użytkownika po wejściu na stronę, na której określono, że wymagany jest protokół SSL.
Jeśli wartości konfiguracyjne server.xml były
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Po wejściu na adres URL "http://hoge:8080/hoge.html" następuje przekierowanie użytkownika na adres URL "https://hoge:8443/hoge.html".
Fakt, że protokół SSL jest obowiązkowy, musi być zdefiniowany w pliku "web.xml". (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)Po skonfigurowaniu protokół SSL jest obowiązkowy. W pliku web.xml należy zamieścić następujące informacje.
~streszczenie~
<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>
Ponieważ wzorzec adresu url to "/", ustawienie to powoduje, że wszystkie adresy URL i przekierowania wymagają protokołu SSL. Jeśli protokół SSL nie jest określony jako obowiązkowy, jest to wartość konfiguracyjna, która nie jest używana. Chociaż "redirectPort="8443"" jest ustawione w domyślnej wartości Tomcata, samo ustawienie aktywacji portu 8443 wydaje się być nieprawidłowe w domyślnej wartości Tomcata, więc może być wiele osób, dla których "redirectPort="8443"" jest ustawione bez świadomości, ale Myślę, że jest wiele osób, dla których port 8443 w miejscu docelowym przekierowania nie jest aktywny.
1-1. podstawa
Chcielibyśmy przedstawić podstawy powyższych wniosków. Na stronie programu Tomcat znajduje się następująca informacja.
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.”
Chodzi o "dostęp do strony z ograniczeniami bezpieczeństwa określającymi, że wymagany jest protokół SSL, zgodnie ze specyfikacją serwletów". Jest to ustawienie web.xml, które właśnie zostało skonfigurowane. Chodzi o to, że wymóg SSL jest specyfikacją serwletu i wydaje się, że po jego zastosowaniu następuje przekierowanie.
2. streszczenie
W tym rozdziale opisano ustawienia redirectPort w pliku server.xml serwera Tomcat. Należy zapoznać się z nim podczas konfigurowania portu redirectPort.