Saltar al contenido principal

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.

Nota

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

  1. 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).
  2. La carpeta IIS contendrá tres archivos:
  • domain_com.pfx archivo de certificado
  • domain_com.key archivo de clave privada
  • password.txt archivo de contraseña del certificado

Instalar el certificado SSL

  1. Copie el archivo de certificado domain_com.pfx que ya obtuvo desde el directorio local al directorio /usr/tomcat9.0.13/conf del 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.
  2. Edite el archivo server.xml ubicado en el directorio /usr/tomcat9.0.13/conf. Agregue el atributo Connector en el archivo server.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"/>
  1. Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración sea correcta.
./configtest.sh
  1. 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.

Efecto del certificado SSL

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:

  1. Edite el archivo /usr/tomcat9.0.13/conf en el directorio web.xml y busque la etiqueta </welcome-file-list>.
  2. 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>
  1. Edite el archivo server.xml en el directorio /usr/tomcat9.0.13/conf y cambie el parámetro redirectPort al puerto connector de SSL, es decir, el puerto 443. Como se muestra a continuación:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración sea correcta.
./configtest.sh
  1. 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 服务器