Installation d'un certificat SSL sur un serveur Tomcat (format PFX)
Vous pouvez installer un certificat SSL sur un serveur Tomcat afin que celui-ci prenne en charge un accès sécurisé HTTPS. Cet article explique comment installer un certificat SSL sur un serveur Tomcat.
Dans ce document, la version de Tomcat utilisée comme exemple est tomcat9.0.13.
Avant l'installation, veuillez confirmer que le port 443 n'est pas occupé. Si le port 443 est déjà utilisé, veuillez lier un autre port lors de l'installation du certificat.
Obtenir le certificat
- Après l'émission du certificat, nous vous remettrons un fichier de certificat compressé (.zip). Le dossier compressé contient quatre sous-dossiers correspondant respectivement à quatre formats de certificat : Tomcat, Nginx, IIS, Apache ; ce document utilise le format PFX pour l'installation, il est donc nécessaire d'utiliser le certificat contenu dans le dossier IIS. (Les différents dossiers ne diffèrent que par le format de fichier ; l'utilisation de fichiers provenant d'un autre dossier n'est pas contradictoire.)
- Le dossier IIS contiendra trois fichiers,
domain_com.pfxfichier de certificatdomain_com.keyfichier de clé privéepassword.txtfichier de mot de passe du certificat
Installer le certificat SSL
- Copiez le fichier de certificat
domain_com.pfxobtenu depuis le répertoire local vers le répertoire/usr/tomcat9.0.13/confdu serveur Tomcat. Le nom du chemin peut légèrement varier selon la version de Tomcat ; veuillez effectuer l'opération en fonction du chemin correspondant à votre service. - Modifiez le fichier
server.xmlsitué dans le répertoire/usr/tomcat9.0.13/conf. Ajoutez l'attributConnectordans le fichierserver.xml, avec le contenu suivant :
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Chemin d’accès au certificat -->
keystoreType="PKCS12"
keystorePass="Mot de passe du certificat" <! -- Veuillez le remplacer par le contenu du fichier de mot de passe password.txt -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
- Enregistrez le fichier de configuration, puis exécutez la commande suivante dans le répertoire
binpour vérifier que la configuration est correcte.
./configtest.sh
- Redémarrez Tomcat et exécutez la commande suivante dans le répertoire
bin:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
Tester le certificat SSL
Saisissez le nom de domaine lié au certificat SSL dans la barre d’adresse du navigateur pour vérifier si votre certificat SSL est correctement installé. En cas de succès, la barre d’adresse du navigateur affiche une icône de cadenas ; cliquez dessus pour consulter les informations du certificat.

Configuration de sécurité pour la redirection automatique HTTP vers HTTPS (facultatif)
Si vous souhaitez rediriger automatiquement les requêtes HTTP vers HTTPS, vous pouvez procéder comme suit :
- Modifiez le fichier
/usr/tomcat9.0.13/confsitué dans le répertoireweb.xmlet recherchez la balise</welcome-file-list>. - Ajoutez un saut de ligne après la balise de fermeture
</welcome-file-list>, puis insérez le contenu suivant.
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Modifiez le fichier
server.xmldans le répertoire/usr/tomcat9.0.13/confet changez le paramètreredirectPortpour le portconnectorde SSL, c’est-à-dire le port 443. Comme indiqué ci-dessous :
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
4. Enregistrez le fichier de configuration, puis exécutez la commande suivante dans le répertoire bin pour vérifier que la configuration est correcte.
./configtest.sh
- Si la configuration ne présente aucun problème, redémarrez le serveur Tomcat pour pouvoir accéder au site via le nom de domaine, avec redirection automatique du HTTP vers le HTTPS.
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器