Este artículo presenta la configuración Tomcat del contenedor integrado en Spring Boot, y lo comparte con usted, como sigue:
Contenedor predeterminado
El programa web predeterminado del arranque de Spring permite al contenedor integrado Tomcat Tomcat escuchar el puerto 8080, y el servletpath predeterminado es / a través de la modificación de la ruta de puerto y contexto. En Spring Boot, su método de modificación es muy simple;
Configurar en el archivo de recursos:
servidor.port = 9090 Server.ContextPath =/LKL
Iniciar bota de primavera
2015-10-04 00: 06: 55.768 Información 609 --- [principal] OSWSHANDLER.SimpleurlHandlermapping: ruta de URL asignada [/**/favicon.ico] en el manejador de tipo [clase org.springframework.web.servlet.resource.resourcehttprequhandler] 2015-10-04 00:06:55.844 INFO 609 --- [ main] osjeaAnnotationMBeanExporter : Registering beans for JMX exposure on startup2015-10-04 00:06:55.928 INFO 609 --- [ main] sbcetTomcatEmbeddedServletContainer : Tomcat started on port(s): 9090 (http)2015-10-04 00: 06: 55.930 Información 609 --- [Main] com.lkl.springboot. Aplicación: Aplicación iniciada en 3.906 segundos (JVM en ejecución para 4.184)
Se puede ver que su puerto de escucha 9090 se accede correctamente ejecutando http: // localhost: 9090/lkl/springboot/liaokailin.
Tomcat personalizado
En proyectos reales, la configuración simple de los puertos Tomcat definitivamente no satisfará las necesidades de todos, por lo que debe personalizar la información de configuración de Tomcat para controlar de manera flexible Tomcat.
Tome el ejemplo de definir la codificación predeterminada
paquete com.lkl.springboot.container.tomcat; import org.springframework.boot.context.embedded.embeddedservletContainerFactory; import org.springframework.boot.context.Embedded.tomcat.tomCatededServletContainerFactory; org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration;/** * Configuración de Tomcat * @author liaokailin * @version $ id: tomcatconfig.java, v 0.1 4 de octubre de 2015 12:11:47 am LIAKAILIN EX $ */ @Configuration {@Bean public InbeddedServletContainerFactory ServletContainer () {TomCatembedDedServletContainerFactory TomCat = new TomCatembedDedServletContainerFactory (); Tomcat.seturiencoding ("UTF-8"); devolver Tomcat; }}Construya el frijol de InbeddedServletContainerFactory, y después de obtener la instancia TomCatembedDedServletContainerFactory, puede establecer TomCat, por ejemplo, la codificación se establece en UTF-8 aquí.
Configuración SSL
Generar un certificado
keytool -genkey -alias springboot -keyalg rsa -keystore/users/liaokailin/software/ca1/keystore set contraseña 123456
Verifique que el certificado sea correcto en Tomcat
Modificar el archivo Tomcat/conf/server.xml
<Conector protocol = "org.apache.coyote.http11.http11nioprotocol" port = "8443" maxThreads = "200" esquema = "https" seguro = "true" sslenabled = "true" keyStoreFile = "/users/liaokailin/software/shoffit clientAuth = "false" sslprotocol = "tls"/>
Comience Tomcat y visite http: // localhost: 8443
Boot de primavera Tomcat SSL
Configurar archivos de recursos
server.port = 8443server.ssl.enabled = trueserver.ssl.keyalias = springbootserver.ssl.keypassword = 123456server.ssl.keystore =/users/liaokailin/software/ca1/keystore
Iniciar bota de primavera
Visite https: // localhost: 8443/springboot/helloworld
Configuración de monitoreo múltiple
Después de comenzar SSL, solo puede ir a HTTPS y no puede acceder a él a través de HTTP. Si desea escuchar varios puertos, puede usar la codificación para implementarlo.
1. Iniciar sesión en la configuración SSL anterior y configure el servidor de configuración.port = 9090
2. Modificar tomcatconfig.java
paquete com.lkl.springboot.container.tomcat; import java.io.file; import org.apache.catalina.connector.connector; import org.apache.coyote.http11.http11nioprotocol; importar; org.springframework.boot.context.embedded.embeddedservletContainerFactory; import org.springframework.boot.context.embedded.tomcat.tomCatEmbeddedservletContainerery; import og.springframework.context.bean; import; importar; import org.springframework.context.annotation.configuration;/** * Configuración de Tomcat * @author liaokailin * @version $ id: tomcatconfig.java, v 0.1 4 de octubre de 2015 liaokailin exp $ */ @configurationPublic de TomCatConfig {@Bean public PublicServletcontainererererer ( TomCatembedDedServletContainerFactory Tomcat = new TomCatembedDedServletContainerFactory (); Tomcat.seturiencoding ("UTF-8"); Tomcat.addadditionAltomCatConnectors (CreateSlConnector ()); devolver Tomcat; } conector privado createSlConnector () {conector conector = nuevo conector ("org.apache.coyote.http11.http11nioprotocol"); Http11nioprotocol protocolo = (http11nioprotocol) conector.getProtocolHandler (); Pruebe {File TrustStore = New File ("/Users/Liaokailin/Software/CA1/Keystore"); conector.setsCheme ("https"); Protocol.SetsSlenAned (verdadero); conector.setsecure (verdadero); conector.setport (8443); Protocol.setKeyStoreFile (TrustStore.getAbSolutePath ()); Protocol.SetKeyStorePass ("123456"); Protocol.SetKeyalias ("SpringBoot"); Conector de retorno; } Catch (Exception Ex) {Throw New IlegalStateException ("Cant Access Keystore: [" + "Key Store" + "]", ex); }}} Agregue múltiples conexiones de escucha a través del método AddAdDitionAltomCatConnectors; En este momento, puede usar el puerto HTTP 9090 y el puerto HTTPS 8443.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.