Tomcat redirectPort: HTTPS-begränsningar och connectors
Datum för offentliggörande:
Uppdaterad:
Tekniska artiklar > Tomcat redirectPort: HTTPS-begränsningar och connectors
2026 status och säker användning
Slutsats: redirectPort talar om för en icke-TLS Tomcat-anslutare vart den ska omdirigera en begäran när den distribuerade webbapplikationens säkerhetsbegränsning kräver en konfidentiell transport. Den skapar inte TLS-anslutningen, tvingar inte fram HTTPS för varje begäran eller ersätter edge-proxy-omdirigeringspolicy.
Vad du kommer att lära dig
- Hur
<transport-guarantee>CONFIDENTIAL</transport-guarantee>aktiverar containerhanterad omdirigering. - Varför målporten måste motsvara en fungerande HTTPS-anslutning eller korrekt utformad proxytopologi.
- Hur direkt Tomcat TLS skiljer sig från TLS-avslutning på Apache HTTP-server eller annan proxy.
Vem detta är till för: Java-webbadministratörer som granskar inställningarna för Tomcat-anslutningen och programsäkerhetsbegränsningar.
2026-kontext: Tomcat 9-exemplet nedan förblir konceptuellt, men anslutningsattribut och proxyhantering måste matcha din Tomcat-familj som stöds. Undvik omdirigeringsslingor och felaktiga scheman genom att konfigurera betrodda proxyhuvuden medvetet.
Säkerhetsanmärkning: Kommandona och konfigurationsexemplen i den ursprungliga artikeln har inte körts om i en aktuell produktionsmiljö. Verifiera versioner som stöds, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan du använder dem.
Viktiga officiella källor
Översikt.
När jag tittade på portinställningen i Tomcats server.xml-konfiguration fanns det en inställning som hette "redirectPort", men jag kunde inte komma på vad den inställningen var när jag googlade, så jag slog upp den.
Följande inställningar.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Innehållsförteckning
1. Vad är redirectPort?
Det verkar vara en inställning som omdirigerar dig när du öppnar en sida som anger att SSL krävs.
Om konfigurationsvärdena i server.xml var
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Om URL:n "http://hoge:8080/hoge.html" nås verkar det som om den omdirigerar användaren till URL:n "https://hoge:8443/hoge.html".
Kravet på SSL anges i web.xml: elementet <transport-guarantee> ska ha värdet CONFIDENTIAL. Lägg till följande konfiguration i filen.
~förkortning~
<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>
Eftersom url-mönstret är "/" gör den här inställningen att alla URL:er och omdirigeringar kräver SSL. Om SSL inte anges som obligatoriskt är det ett konfigurationsvärde som inte används. Även om "redirectPort="8443" är inställt i standardvärdet för Tomcat, verkar inställningen för att aktivera port 8443 i sig själv vara ogiltig med standardvärdet för Tomcat, så det kan finnas många personer för vilka "redirectPort="8443" är inställt utan att de är medvetna om det. Jag tror att det finns många som inte har aktiverat 8443-porten för omdirigeringsdestinationen.
1-1. grund
Vi skulle vilja beskriva grunden för dessa slutsatser. På Tomcat-sidan står följande.
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.”
Poängen är "åtkomst till en sida med säkerhetsbegränsningar som anger att SSL krävs, i enlighet med servletspecifikationen". Detta är inställningen i web.xml som du just har konfigurerat. Poängen är att SSL-kravet är en servletspecifikation, och den verkar omdirigeras när den tillämpas.
2. sammanfattning
I det här avsnittet beskrivs inställningarna för redirectPort i Tomcats server.xml. Se detta när du ställer in redirectPort.
Tack för att du tittade på till slutet.