Hvad er indstillingen redirectPort i Tomcat's server.xml?


Udgivet:

Opdateret:


Artikler › Hvad er indstillingen redirectPort i Tomcat's server.xml?

Status i 2026 og sikker brug

Konklusion: redirectPort fortæller en ikke-TLS Tomcat-forbindelse, hvor en anmodning skal omdirigeres, når den installerede webapplikations sikkerhedsbegrænsning kræver en fortrolig transport. Det opretter ikke TLS-connectoren, tvinger HTTPS for hver anmodning eller erstatter edge-proxy-omdirigeringspolitik.

Det lærer du

  • Hvordan <transport-guarantee>CONFIDENTIAL</transport-guarantee> aktiverer containerstyret omdirigering.
  • Hvorfor skal målporten svare til en fungerende HTTPS-connector eller korrekt designet proxytopologi.
  • Hvor direkte Tomcat TLS adskiller sig fra TLS-afslutning på Apache HTTP-server eller en anden proxy.

Målgruppe: Java-webadministratorer, der gennemgår indstillingerne for Tomcat-forbindelse og applikationssikkerhedsbegrænsning.

Aktuel status i 2026: Tomcat 9-eksemplet nedenfor forbliver konceptuelt, men connector-attributter og proxy-håndtering skal matche din understøttede Tomcat-familie. Undgå omdirigeringsløkker og forkerte skemaer ved at konfigurere betroede proxy-headere bevidst.

Sikkerhedsbemærkning: Kommandoerne og konfigurationseksemplerne i den oprindelige artikel er ikke kørt igen i et aktuelt produktionsmiljø. Kontrollér understøttede versioner, tag backup, og forbered en rollback i et separat testmiljø før ændringerne anvendes.

Officielle kilder

Oversigt

Da jeg kiggede på port-indstillingen i Tomcats server.xml-konfiguration, var der en indstilling kaldet 'redirectPort', men jeg kunne ikke finde ud af, hvad denne indstilling var, da jeg googlede det, så jeg slog det op.

Følgende indstillinger.

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Indholdsfortegnelse

  1. Hvad er redirectPort?
  2. Opsummering

1. Hvad er redirectPort?

Det viser sig, at det er en indstilling, der omdirigerer dig, når du åbner en side, der angiver, at SSL er påkrævet.

Hvis værdierne i server.xml-konfigurationen var

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Hvis URL'en "http://hoge:8080/hoge.html" tilgås, ser det ud til, at brugeren omdirigeres til URL'en "https://hoge:8443/hoge.html".

Det faktum, at SSL er obligatorisk, skal defineres i "web.xml". (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)Når den er oprettet, er SSL obligatorisk. Medtag følgende oplysninger i web.xml.

web.xml


~forkortelse~
    <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>

Da url-mønsteret er "/", gør denne indstilling alle URL'er SSL-krævede og omdirigerer. Hvis SSL ikke er angivet som obligatorisk, er det en konfigurationsværdi, som ikke bruges. Selv om "redirectPort="8443" er indstillet i standardværdien for Tomcat, synes selve indstillingen til at aktivere 8443-porten at være ugyldig med standardværdien for Tomcat, så der kan være mange mennesker, for hvem "redirectPort="8443" er indstillet uden at være klar over det, men Jeg tror, at der er mange mennesker, for hvem 8443-porten for redirect-destinationen ikke er aktiveret.

1-1. grundlag

Vi vil gerne beskrive grundlaget for ovenstående konklusioner. På Tomcat-siden står der følgende.

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.”

Pointen er "at få adgang til en side med sikkerhedsbegrænsninger, der angiver, at SSL er påkrævet, som krævet i servlet-specifikationen". Dette er den web.xml-indstilling, som du lige har konfigureret. Pointen er, at SSL-kravet er en servlet-specifikation, og det ser ud til at blive omdirigeret, når det anvendes.

2. resumé

Dette afsnit beskriver indstillingerne for redirectPort i Tomcat's server.xml. Se venligst dette, når du opretter redirectPort.

Det opsummerer de vigtigste trin og begrænsninger.