Configuración de dominio con ssl, certbot y apache tomcat
Para acceder a tu página web desde un dominio es necesario realizar una serie de tareas y configuraciones en varios lados, aquí te describo los pasos a seguir para lograrlo mediante las siguientes tecnologías
- Registro de domino: IONOS (https://www.ionos.mx/)
- Servidor web: Apache Tomcat (https://tomcat.apache.org/)
- Certificados gratuitos: Certbot (https://certbot.eff.org/)
No voy a ahondar en la instalación o creación de cuentas para estas herramientas, ya que eso esta muy bien explicado en los links de cada tecnología. Me enfocaré en lo más importante que es la generación del certificado, y la configuración en tomcat.
Servidor de instalación: CentOS Linux release 7.9.2009
Generación de certificado gratis con certbot
Verificar la instalación de certbot: certbot –version

Creación de certificado en formato PKCS12
openssl pkcs12 -export -in /etc/letsencrypt/live/dominio.com/cert.pem \
-inkey /etc/letsencrypt/live/dominio.com/privkey.pem \
-out /opt/tomcat/apache-tomcat-8.5.61/conf/keystore.p12 \
-name tomcat -CAfile /etc/letsencrypt/live/dominio.com/fullchain.pem \
-caname root
Este comando creará un archivo keystore.p12
en la ruta de configuración de Tomcat.
Convertir el Archivo PKCS12 a un Archivo Java KeyStore (JKS)
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore /opt/tomcat/apache-tomcat-8.5.61/conf/keystore.jks \
-srckeystore /opt/tomcat/apache-tomcat-8.5.61/conf/keystore.p12 -srcstoretype PKCS12 -srcstorepass changeit
Cambia la palabra/contraseña changeit por alguna que se adecuada para ti.
Con ello ya tendrás un archivo llamado keystore.jks, en la ruta de conf de tomcat
Configurar Tomcat para Usar el Keystore
Abre el archivo de configuración de Tomcat server.xml
, ubicado en /opt/tomcat/apache-tomcat-8.5.61/conf/
, y encuentra el conector HTTPS. Debería parecerse a esto:
<Connector port=»8443″ protocol=»HTTP/1.1″ maxThreads=»150″ SSLEnabled=»true» scheme=»https» secure=»true» clientAuth=»false» sslProtocol=»TLS» keystoreFile=»/opt/tomcat/apache-tomcat-8.5.61/conf/keystore.jks» keystorePass=»changeit» />
Reinicia el servicio de tomcat: sudo systemctl restart tomcat

Abrir puertos para acceso
Abre los puertos 8080 y 8443 en el servidor
sudo firewall-cmd –permanent –add-port=8080/tcp –add-port=8443/tcp
sudo firewall-cmd –reload
sudo firewall-cmd –list-ports
Configura tu dominio en IONOS
Crea un dominio con los siguientes registros
Tipo: A
Host: dominio
Apunta a: ip pública servidor
TTL: 1 hora
Tipo: A
Host: www.dominio
Apunta a: ip pública servidor
TTL: 1 hora
Espera a que la configuración se propague y para ello puedes verificar mediante la página https://dnschecker.org/

Y listo…