Vysvetlenie redirectPort v Tomcate: bezpečnostné obmedzenia, HTTPS a konektory
Dátum vydania:
Aktualizované:
Technické články > Vysvetlenie redirectPort v Tomcate: bezpečnostné obmedzenia, HTTPS a konektory
Stav a bezpečné používanie v roku 2026
Záver: Atribút redirectPort určuje cieľ presmerovania pre nešifrovaný konektor Tomcatu, keď bezpečnostné obmedzenie aplikácie vyžaduje dôverný prenos. Nevytvára konektor TLS, nevynucuje HTTPS pri každej požiadavke ani nenahrádza pravidlá presmerovania na reverznej proxy.
Čo sa naučíte
- Ako
<transport-guarantee>CONFIDENTIAL</transport-guarantee>aktivuje presmerovanie riadené kontajnerom. - Prečo cieľový port musí zodpovedať funkčnému konektoru HTTPS alebo správne navrhnutej topológii proxy.
- Ako sa TLS ukončené priamo v Tomcate líši od ukončenia TLS na Apache HTTP Serveri alebo inej proxy.
Pre koho je to určené: Správcovia webových aplikácií v Jave, ktorí kontrolujú konektory Tomcatu a bezpečnostné obmedzenia aplikácie.
Kontext v roku 2026: Príklad pre Tomcat 9 zostáva koncepčne platný, atribúty konektora a spracovanie proxy však musia zodpovedať podporovanej verzii Tomcatu. Dôveryhodné proxy hlavičky nastavte zámerne, aby nevznikla slučka presmerovania ani nesprávna schéma adresy.
Bezpečnostná poznámka: Príkazy a príklady konfigurácie v pôvodnom článku neboli znovu spustené v aktuálnom produkčnom prostredí. Pred ich použitím overte podporované verzie, zálohy, prístupové oprávnenia a postup obnovy v oddelenom testovacom prostredí.
Hlavné oficiálne zdroje
Prehľad
V konfigurácii "server.xml" sa pri konektore HTTP často nachádza atribút "redirectPort". Táto časť vysvetľuje, kedy ho Tomcat použije a čo samotné nastavenie nezabezpečí.
Príklad konektora vyzerá takto.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Obsah
1. Čo je redirectPort?
Tomcat použije redirectPort vtedy, keď požiadavka príde cez nešifrovaný konektor a zodpovedajúce bezpečnostné obmedzenie webovej aplikácie vyžaduje dôverný prenos.
Predpokladajme nasledujúcu konfiguráciu v súbore "server.xml".
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Pri požiadavke na adresu "http://hoge:8080/hoge.html" môže Tomcat odpovedať presmerovaním na "https://hoge:8443/hoge.html".
Požiadavku na dôverný prenos určuje súbor "web.xml" hodnotou CONFIDENTIAL v prvku <transport-guarantee>. Príklad konfigurácie vyzerá takto.
~skrátenie~
<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>
Keďže vzor URL je "/*", bezpečnostné obmedzenie vyžaduje dôverný prenos pre každú zodpovedajúcu adresu aplikácie. Tomcat použije redirectPort iba pri takejto požiadavke. Cieľ presmerovania je funkčný len vtedy, keď na danom porte skutočne počúva konektor TLS alebo správne navrhnutá dôveryhodná proxy a všetky atribúty schémy aj proxy sú nastavené konzistentne.
1-1. Dôvod tohto správania
Toto správanie opisuje dokumentácia Tomcatu na nasledujúcej stránke.
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.”
Dokumentácia opisuje požiadavku, ktorá zodpovedá bezpečnostnému obmedzeniu s požiadavkou na dôverný prenos, napríklad obmedzeniu v súbore "web.xml" uvedenému vyššie. Samotný redirectPort nevynúti HTTPS pre každú požiadavku aplikácie.
2. Zhrnutie
RedirectPort nastavte spolu s funkčným konektorom TLS alebo reverznou proxy. Potom otestujte priame aj sprostredkované požiadavky, preposielané hlavičky a správanie pri presmerovaní.
Atribút je iba cieľom presmerovania vyvolaného bezpečnostným obmedzením aplikácie; sám nevytvára TLS ani všeobecné pravidlo HTTPS.
Technické články
Profil
Kontakt