Quel est le paramètre redirectPort dans le server.xml de Tomcat ?
Date de publication:
Mise à jour :
Articles > Quel est le paramètre redirectPort dans le server.xml de Tomcat ?
Statut 2026 et utilisation sûre
Conclusion : redirectPort indique à un connecteur Tomcat non TLS où rediriger une requête lorsque la contrainte de sécurité de l'application Web déployée nécessite un transport confidentiel. Il ne crée pas le connecteur TLS, n'impose pas HTTPS pour chaque requête et ne remplace pas la politique de redirection du proxy Edge.
Ce que vous apprendrez
- Comment
<transport-guarantee>CONFIDENTIAL</transport-guarantee>active la redirection gérée par le conteneur. - Pourquoi le port cible doit correspondre à un connecteur HTTPS fonctionnel ou à une topologie de proxy correctement conçue.
- En quoi le TLS Tomcat direct diffère de la terminaison TLS sur le serveur HTTP Apache ou un autre proxy.
À qui s'adresse : les administrateurs Web Java qui examinent les paramètres de contrainte de sécurité du connecteur Tomcat et des applications.
Note de mise à jour (2026) : L'exemple Tomcat 9 ci-dessous reste conceptuel, mais les attributs du connecteur et la gestion du proxy doivent correspondre à votre famille Tomcat prise en charge. Évitez les boucles de redirection et les schémas erronés en configurant délibérément des en-têtes de proxy de confiance.
Note de sécurité : les commandes et exemples de configuration de l'article d'origine n'ont pas été rejoués dans un environnement de production actuel. Avant toute application, vérifiez les versions prises en charge, les sauvegardes, les contrôles d'accès et la procédure de retour arrière dans un environnement de test isolé.
Sources primaires officielles
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.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Table des matières
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
<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.
~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.