Instalación de un certificado SSL en un servidor Tomcat (formato PFX)
Puede instalar el certificado SSL en el servidor Tomcat para que este admita acceso seguro HTTPS. Este artículo describe cómo instalar un certificado SSL en un servidor Tomcat.
En este documento, la versión de Tomcat se toma como ejemplo con tomcat9.0.13.
Antes de la instalación, confirme que el puerto 443 no esté ocupado. Si el puerto 443 ya está en uso, vincule otro puerto al instalar el certificado.
Obtener el certificado
- Una vez que le emitamos el certificado, le entregaremos un archivo de certificado comprimido (.zip). El paquete comprimido contiene cuatro carpetas correspondientes a cuatro formatos de certificado: Tomcat, Nginx, IIS y Apache. En este documento se utiliza el formato PFX para la instalación, por lo que es necesario usar los certificados de la carpeta IIS. (Las distintas carpetas solo difieren en el formato de archivo; usar los archivos de otras carpetas no supone ningún conflicto).
- La carpeta IIS contendrá tres archivos:
domain_com.pfxarchivo de certificadodomain_com.keyarchivo de clave privadapassword.txtarchivo de contraseña del certificado
Instalar el certificado SSL
- Copie el archivo de certificado
domain_com.pfxque ya obtuvo desde el directorio local al directorio/usr/tomcat9.0.13/confdel servidor Tomcat. Los nombres de ruta pueden variar ligeramente según la versión de Tomcat; realice la operación según la ruta correspondiente a su servicio. - Edite el archivo
server.xmlubicado en el directorio/usr/tomcat9.0.13/conf. Agregue el atributoConnectoren el archivoserver.xml, con el siguiente contenido:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Ruta del certificado -->
keystoreType="PKCS12"
keystorePass="Contraseña del certificado" <! -- Reemplácelo con el contenido del archivo de contraseña 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"/>
- Guarde el archivo de configuración y ejecute el siguiente comando en el directorio
binpara confirmar que la configuración sea correcta.
./configtest.sh
- Reinicie Tomcat y ejecute el siguiente comando en el directorio
bin:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
Probar el certificado SSL
Introduzca en la barra de direcciones del navegador el dominio vinculado al certificado SSL para comprobar si su certificado SSL se ha instalado correctamente. Si es así, la barra de direcciones del navegador mostrará un icono de candado de seguridad; haga clic en él para ver la información del certificado.

Configuración de seguridad para la redirección automática de HTTP a HTTPS (opcional)
Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:
- Edite el archivo
/usr/tomcat9.0.13/confen el directorioweb.xmly busque la etiqueta</welcome-file-list>. - Añada un salto de línea después de la etiqueta de cierre
</welcome-file-list>y agregue el siguiente contenido.
<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>
- Edite el archivo
server.xmlen el directorio/usr/tomcat9.0.13/confy cambie el parámetroredirectPortal puertoconnectorde SSL, es decir, el puerto 443. Como se muestra a continuación:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
- Guarde el archivo de configuración y ejecute el siguiente comando en el directorio
binpara confirmar que la configuración sea correcta.
./configtest.sh
- Si la configuración es correcta, reinicie el servidor Tomcat para poder acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器