lunes, 21 de agosto de 2017
Tomcat embebido https
Vamos a configurar Tomcat desde Java (embebido) para utilizar un certificado de seguridad y poder acceder de manera segura a las aplicaciones que despliegue nuestro Tomcat. (vía HTTPS)
En nuestra función principal o Main:
.....
Tomcat tomcat = new Tomcat();
tomcat = new Tomcat();
Service service = tomcat.getService();
service.addConnector(getSslConnector());
tomcat.getHost().setAutoDeploy(true);
tomcat.getHost().setDeployOnStartup(true);
tomcat.start();
tomcat.getServer().await();
....
La función de configuración del service de Tomcat: (en función de la extensión de nuestro certificado, la keyStoreType tomará el valor de PEM, JKS o PKCS12)
private static Connector getSslConnector() {
Connector connector = new Connector();
connector.setPort(8090);
connector.setSecure(true);
connector.setScheme("https");
connector.setAttribute("keyAlias", "tomcat");
connector.setAttribute("keystorePass", "password");
// connector.setAttribute("keystoreType", "JKS");
connector.setAttribute("keystoreType", "PEM");
// connector.setAttribute("keystoreType", "PKCS12");
connector.setAttribute("keystoreFile", "private.pem");
connector.setAttribute("clientAuth", "false");
connector.setAttribute("protocol", "HTTP/1.1");
connector.setAttribute("sslProtocol", "TLS");
connector.setAttribute("maxThreads", "200");
connector.setAttribute("protocol", "org.apache.coyote.http11.Http11AprProtocol");
connector.setAttribute("SSLEnabled", true);
return connector;
}
Una manera más moderna de hacer esto es con Spring Boot, donde además encontraremos más tutoriales y nos dará menos problemas. Aquí y Aquí tienes otros posts relativos a Spring Boot y Tomcat.
No hay comentarios:
Publicar un comentario