Instalación de certificado SSL en servidor Tomcat (formato JKS)
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 el servidor Tomcat.
En este documento se utiliza como ejemplo la versión tomcat9.0.13 de Tomcat. 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
-
Después de que le emitamos el certificado, le entregaremos un archivo de certificado (.zip) comprimido. El paquete comprimido contiene cuatro carpetas correspondientes a cuatro formatos de certificado: Tomcat, Nginx, IIS, Apache. En este documento se utiliza el formato JKS para la instalación, usando el certificado dentro de la carpeta Tomcat.
-
La carpeta Tomcat contendrá tres archivos:
domain_com.jksarchivo de certificadodomain_com.keyarchivo de clave privadapassword.txtarchivo de contraseña del certificado
Instalar el certificado SSL
- Copie el archivo de certificado
domain_com.jksque obtuvo desde su directorio local al directorio/usr/tomcat9.0.13/confdel servidor Tomcat.
- Los nombres de ruta de las distintas versiones de Tomcat pueden variar ligeramente; realice la operación en la ruta correspondiente a su servicio.
- Si la versión del JDK de algunos usuarios difiere de la versión del JDK del entorno en el que convertimos el archivo JKS, es posible que deban convertir manualmente el archivo JKS en el entorno de uso actual.
Consulte el siguiente comando para convertir el archivo JKS y preste atención a reemplazar los parámetros correspondientes:
keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword
Reemplace domain.pfx (archivo pfx en la carpeta IIS) pfxpassword (contraseña del archivo pfx) domain.jks (nombre del archivo jks después de la conversión) pfxpassword (contraseña del archivo PFX)
- Edite el archivo
server.xmlen el directorio/usr/tomcat9.0.13/conf. Agregue el atributo Connector en el archivoserver.xml, con el siguiente contenido:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Ruta del certificado -->
keystorePass="Contraseña del certificado" <! -- Reemplace con el contenido del archivo de contraseña password.txt -->
clientAuth="false"/>
- Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración es correcta.
./configtest.sh
- Reinicie Tomcat; 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/confque se encuentra en el directorioweb.xmly localice 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 dominio y lograr la redirección automática de HTTP a HTTPS.
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器