Quel est le paramètre redirectPort dans le server.xml de Tomcat ?


Date de publication:2 janvier 2021.



INFOMARTION > Quel est le paramètre redirectPort dans le server.xml de Tomcat ?

Vue d'ensemble.

Lorsque j'ai examiné le paramètre de port dans la configuration server.xml de Tomcat, j'ai constaté qu'il y avait un paramètre appelé "redirectPort", mais je n'ai pas réussi à comprendre ce paramètre en le recherchant sur Google.

Les paramètres suivants.

server.xml


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

Table des matières

  1. Qu'est-ce que redirectPort ?
  2. résumé

1. Qu'est-ce que redirectPort ?

Il semble qu'il s'agisse d'un paramètre qui vous redirige lorsque vous accédez à une page qui spécifie que SSL est nécessaire.

Si les valeurs de configuration du server.xml étaient

server.xml


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

Si l'on accède à l'URL "http://hoge:8080/hoge.html", il semble rediriger l'utilisateur vers l'URL "https://hoge:8443/hoge.html".

Le fait que SSL soit obligatoire doit être défini dans "web.xml".(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Lorsqu'il est configuré, le SSL est obligatoire. Incluez les informations suivantes dans le fichier web.xml.

web.xml


~abrégé~
    <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>

Puisque le modèle d'URL est "/", ce paramètre rend toutes les URLs SSL obligatoires et les redirections. Si SSL n'est pas spécifié comme obligatoire, il s'agit d'une valeur de configuration qui n'est pas utilisée. Bien que "redirectPort="8443" soit défini dans la valeur par défaut de Tomcat, le paramètre permettant d'activer le port 8443 lui-même semble être invalide avec la valeur par défaut de Tomcat, il peut donc y avoir beaucoup de personnes pour qui "redirectPort="8443"" est défini sans le savoir mais Je pense qu'il y a beaucoup de personnes pour lesquelles le port 8443 de la destination de la redirection n'est pas activé.

1-1. base

Nous souhaitons décrire les fondements des conclusions ci-dessus. La page Tomcat indique ce qui suit.

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

Il s'agit de "l'accès à une page dont les contraintes de sécurité spécifient que le SSL est requis, comme l'exige la spécification des servlets". Il s'agit du paramètre web.xml que vous venez de configurer. Le fait est que l'exigence SSL est une spécification des servlets, et qu'elle semble être redirigée lorsqu'elle est appliquée.

2. résumé

Cette section décrit les paramètres de redirectPort dans le server.xml de Tomcat. Veuillez vous y référer lors de la configuration du redirectPort.

Merci d'avoir regardé jusqu'à la fin.