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


Udgivelsesdato:

Opdateret:


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

2026-status 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.

Hvad vil du lære

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

Hvem er dette til: Java-webadministratorer, der gennemgår indstillingerne for Tomcat-forbindelse og applikationssikkerhedsbegrænsning.

2026-position: 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 originale artikel er ikke blevet kørt igen i et aktuelt produktionsmiljø. Bekræft understøttede versioner, sikkerhedskopier, adgangskontrol og rollback-trin i et separat testmiljø, før du anvender dem.

Officielle primære 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. resumé

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.

Tak, fordi du kiggede med til slutningen.