En esta ocasion vamos a configurar el https en TOMCAT webserver utilizando Certbot para la generación de los certificados.
Software
- Ubuntu Server 20.04
- Certbot 1.29.0
- Tomcat 9
Procedimiento
- Ejecuta los siguientes comandos
sudo certbot certonly --standalone -d tomcat.luidasa.com
cd /etc/letsencrypt/live/tomcat.luidasa.com
sudo cp {cert,chain,privkey}.pem /opt/tomcat/conf/
sudo nano /opt/tomcat/conf/server.xml and modify
- Localiza en el archivo y modificalo.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateFile="conf/cert.pem"
certificateKeyFile="conf/privkey.pem"
certificateChainFile="conf/chain.pem" />
</SSLHostConfig>
</Connector>
....
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- Agrega la siguiente sentencia en el archivo web.xml, para forzar a siempre use https.
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Por ultimo reinicia el servicio de TOMCAT
sudo systemctl restart tomcat