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


Datum der Veröffentlichung:2. Januar 2021.



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

Ü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" />

Wenn auf die URL "http://hoge:8080/hoge.html" zugegriffen wird, wird der Benutzer anscheinend auf die URL "https://hoge:8443/hoge.html" umgeleitet.

Die Tatsache, dass SSL obligatorisch ist, muss in "web.xml" definiert werden.(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Die Einrichtung von SSL ist obligatorisch. Nehmen Sie die folgenden Informationen in die Datei web.xml auf.

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>

Da das Url-Muster "/" ist, macht diese Einstellung alle URLs SSL-pflichtig und leitet sie weiter. Wenn SSL nicht als obligatorisch angegeben ist, handelt es sich um einen Konfigurationswert, der nicht verwendet wird. Obwohl "redirectPort="8443" im Standardwert von Tomcat eingestellt ist, scheint die Einstellung zur Aktivierung des Ports 8443 selbst mit dem Standardwert von Tomcat ungültig zu sein, so dass es viele Leute geben könnte, für die "redirectPort="8443"" eingestellt ist, ohne dass sie sich dessen bewusst sind. Ich denke, dass es viele Leute gibt, für die der Port 8443 des Umleitungsziels nicht aktiviert ist.

1-1. Basis

Wir möchten die Grundlage für die oben genannten Schlussfolgerungen beschreiben. Auf der Tomcat-Seite steht folgendes.

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

Es geht um den "Zugriff auf eine Seite mit Sicherheitseinschränkungen, die angeben, dass SSL erforderlich ist, wie in der Servlet-Spezifikation gefordert". Dies ist die web.xml-Einstellung, die Sie gerade konfiguriert haben. Der Punkt ist, dass die SSL-Anforderung eine Servlet-Spezifikation ist, und sie scheint umgeleitet zu werden, wenn sie angewendet wird.

2. Zusammenfassung

Dieser Abschnitt beschreibt die redirectPort-Einstellungen in der server.xml von Tomcat. Bitte beachten Sie dies, wenn Sie den redirectPort einrichten.

Danke, dass Sie bis zum Ende zugesehen haben.