Wie lautet die redirectPort-Einstellung in der server.xml von Tomcat?


Datum der Veröffentlichung:

Aktualisiert:


Fachartikel > Wie lautet die redirectPort-Einstellung in der server.xml von Tomcat?

Status 2026 und sichere Verwendung

Schlussfolgerung: redirectPort teilt einem Nicht-TLS-Tomcat-Connector mit, wohin eine Anfrage umgeleitet werden soll, wenn die Sicherheitsbeschränkung der bereitgestellten Webanwendung einen vertraulichen Transport erfordert. Es erstellt nicht den TLS-Connector, erzwingt nicht HTTPS für jede Anfrage und ersetzt auch nicht die Edge-Proxy-Umleitungsrichtlinie.

Was Sie lernen werden

  • Wie <transport-guarantee>CONFIDENTIAL</transport-guarantee> die Container-verwaltete Umleitung aktiviert.
  • Warum der Zielport einem funktionierenden HTTPS-Connector oder einer korrekt gestalteten Proxy-Topologie entsprechen muss.
  • Wie sich direktes Tomcat TLS von der TLS-Terminierung bei Apache HTTP Server oder einem anderen Proxy unterscheidet.

Für wen ist dies gedacht: Java-Webadministratoren überprüfen die Einstellungen für den Tomcat-Connector und die Sicherheitseinschränkungen der Anwendung.

Stand 2026: Das Tomcat 9-Beispiel unten bleibt konzeptionell, aber Connector-Attribute und Proxy-Handhabung müssen mit Ihrer unterstützten Tomcat-Familie übereinstimmen. Vermeiden Sie Umleitungsschleifen und falsche Schemata, indem Sie bewusst vertrauenswürdige Proxy-Header konfigurieren.

Sicherheitshinweis: Die Befehle und Konfigurationsbeispiele im Originalartikel wurden nicht in einer aktuellen Produktionsumgebung erneut ausgeführt. Überprüfen Sie unterstützte Versionen, Backups, Zugriffskontrollen und Rollback-Schritte in einer separaten Testumgebung, bevor Sie sie anwenden.

Offizielle Primärquellen

Überblick

Als ich mir die Port-Einstellung in der server.xml-Konfiguration von Tomcat ansah, gab es eine Einstellung namens "redirectPort", aber ich konnte nicht herausfinden, was diese Einstellung war, als ich danach googelte, also schlug ich sie nach.

Die folgenden Einstellungen.

server.xml


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

Inhaltsübersicht

  1. Was ist redirectPort?
  2. Zusammenfassung

1. Was ist redirectPort?

Wie sich herausstellte, scheint es sich um eine Einstellung zu handeln, die Sie umleitet, wenn Sie eine Seite aufrufen, für die SSL erforderlich ist.

Wenn die server.xml-Konfigurationswerte

server.xml


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

Verlangt eine Sicherheitsbedingung der Anwendung vertrauliche Übertragung, verwendet Tomcat den redirectPort des HTTP-Connectors für das HTTPS-Umleitungsziel. Eine Anfrage an Port 8080 kann so beispielsweise zu Port 8443 umgeleitet werden.

Dazu muss web.xml die Transportbedingung „<transport-guarantee>CONFIDENTIAL</transport-guarantee>“ deklarieren:

web.xml


~Verkürzung~
    <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>

Das URL-Muster „/*“ erfasst alle Ressourcen der Anwendung. redirectPort wirkt jedoch nur, wenn eine passende CONFIDENTIAL-Bedingung greift. Ein Eintrag mit Port 8443 bedeutet außerdem nicht, dass dort bereits ein TLS-Connector lauscht.

1-1. Basis

Die Tomcat-Dokumentation begründet diese Schlussfolgerung wie folgt:

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

redirectPort erzwingt allein kein HTTPS. Der Zielport muss tatsächlich verfügbar sein; bei TLS-Terminierung an einem Reverse Proxy müssen außerdem Schema- und Portinformationen korrekt an Tomcat weitergegeben werden.

2. Zusammenfassung

redirectPort muss mit dem tatsächlichen HTTPS-Einstiegspunkt übereinstimmen und zusammen mit den Sicherheitsbedingungen der Anwendung oder der Reverse-Proxy-Konfiguration getestet werden.