Este artigo apresenta a configuração do Tomcat do contêiner incorporado na bota da primavera e o compartilha com você, como segue:
Contêiner padrão
O programa da Web padrão da Spring Boot permite que o contêiner incorporado Tomcat Tomcat ouve a porta 8080, e o servletPath padrão é / através da modificação do caminho da porta e do contexto. Na bota da primavera, seu método de modificação é muito simples;
Configure no arquivo de recursos:
server.port = 9090 server.contextPath =/lkl
Inicie a bota da primavera
2015-10-04 00:06:55.768 INFO 609 --- [ main] oswshandler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]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 Info 609 --- [Main] com.lkl.springboot.Application: iniciou a aplicação em 3.906 segundos (JVM em execução para 4.184)
Pode -se observar que sua porta de escuta 9090 é acessada com sucesso executando http: // localhost: 9090/lkl/springboot/liaokailin.
Tomcat personalizado
Em projetos reais, a configuração simples das portas do Tomcat definitivamente não atenderá às necessidades de todos, então você precisa personalizar as informações de configuração do TomCat para controlar flexivelmente o Tomcat.
Veja o exemplo de definir a codificação padrão
pacote com.lkl.springboot.container.tomcat; importar org.springframework.boot.context.embedded.embeddedservletContainerFactory; importação org.springframework.Boot.Context.EmBeded.Tomcat.tomcatemdeddedwork.Boot.Contexted.Tomcat.tomcatemdeddedwork org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * tomcat Configuration* @author liaokailin * @version $Id: TomcatConfig.java, v 0.1 October 4, 2015 12:11:47 AM liaokailin Exp $ */@Configurationpublic class TomCatConfig {@Bean public incorporado, servletContainerFactory ServletContainer () {TomCatEMbedDedServletLearContainerFactory TomCat = new TomCatEmBededDervLetLearContainerFactory (); tomcat.seturiencoding ("UTF-8"); retornar Tomcat; }}Construa o feijão de incorporação incorporada e, depois de obter a instância TomCatEmbedDervLevletContainerFactory, você pode definir o Tomcat, por exemplo, a codificação está definida como UTF-8 aqui.
Configuração SSL
Gerar um certificado
keytool -GenKey -Alias Springboot -Keyalg RSA -Keystore/Usuários/Liaokailin/Software/CA1/KeyStore Set Senha 123456
Verifique se o certificado está correto no tomcat
Modifique o arquivo tomcat/conf/server.xml
<Conector protocol = "org.apache.coyote.http11.http11nioprotocol" port = "8443" maxthreads = "200" scheme = "https" seguro = "true" sslenabled = "true" KeyStoreFile "/"/users "/liaokailin/cair"/cair "/cair"/"keysterfile"/"/liaokailin/cair"/cair "/" Truesterfile "/"/liaokailin/cair "/cair"/"truesterfile"/"/liaokailin/cair"/cair "/" keysterfile "/"/liaokailin/cair "/cair" e ClientAuth = "false" SSLProtocol = "TLS"/>
Inicie o tomcat e visite http: // localhost: 8443
Spring Boot incorporada Tomcat SSL
Configure arquivos de recursos
server.port = 8443Server.ssl.enabled = trueServer.ssl.keyalias = springbootsserver.ssl.keypassword = 123456server.ssl.keystore =/users/liaokailin/software/ca1/keystore
Inicie a bota da primavera
Visite https: // localhost: 8443/Springboot/helloworld
Configuração de monitoramento de várias portas
Depois de iniciar o SSL, você só pode acessar o HTTPS e não pode acessá -lo através do HTTP. Se você deseja ouvir várias portas, pode usar a codificação para implementá -la.
1. Logre a configuração SSL anterior e defina o servidor de configuração.port = 9090
2. Modifique o tomcatconfig.java
package com.lkl.springboot.container.tomcat;import java.io.File;import org.apache.catalina.connector.Connector;import org.apache.coyote.http11.Http11NioProtocol;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.tomcatembeddedservletContainerFactory; importar org.springframework.context.annotation.Bean; import org.springframework.annotation.configuratur; Tomcatconfig.java, v 0.1 4 de outubro de 2015 liaokailin exp $ */ @configurationpublic classe tomcatconfig {@Bean public incorporado posto de serviço de servEnnerFactory TomCat); tomcat.seturiencoding ("UTF-8"); tomcat.addadditionaltomcatconnectors (createsesslConnector ()); retornar Tomcat; } Connector privado CredesslConnector () {Connector Connector = new Connector ("org.apache.coyote.http11.http11nioprotocol"); Protocolo http11nioprotocolo = (http11nioprotocol) conector.getProtocolHandler (); tente {file trustStore = new File ("/usuários/liaokailin/software/ca1/keystore"); conector.setscheme ("https"); protocol.SetSsLenabled (true); conector.SetSecure (true); conector.setport (8443); protocol.setKeyStoreFile (TrustStore.getabsolutepath ()); protocol.setKeyStorePass ("123456"); protocol.setKeyalias ("Springboot"); retornar conector; } catch (Exceção ex) {tire new IllegalStateException ("não pode acessar keystore: [" + "keystore" + "]", ex); }}} Adicione várias conexões de escuta através do método AddadditionAltomCatConnectors; Neste momento, você pode usar a porta HTTP 9090 e a porta HTTPS 8443.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.