Cet article présente la configuration Tomcat du conteneur embarqué dans Spring Boot et le partage avec vous, comme suit:
Conteneur par défaut
Le programme Web par défaut de Spring Boot permet à TomCat Embedded Container Tomcat d'écouter le port 8080, et le servletpath par défaut est / à travers la modification du port et du chemin de contexte. Dans Spring Boot, sa méthode de modification est très simple;
Configurer dans le fichier de ressources:
server.port = 9090 server.contextpath = / lkl
Démarrer la botte de printemps
2015-10-04 00: 06: 55.768 Info 609 --- [Main] Oswshandler.SimpleurlLerMapping: chemin d'url mappé [/**/favicon.ico] sur le gestionnaire de type [classe org.springframework.web.servlet.resource.resourcehtprequesthandler] 2015-10-04 00: 06: 55.844 Info 609 --- [Main] OsjeaannotationMbeanExporter: Enregistrement des haricots pour l'exposition JMX sur Startup2015-10-04 00: 06: 55.928 Info 609 --- [Main] SBCETTOMCATEMEDDEDSERVletContainer: Tomcat sur le port (s): 9090 (HTTP) 00: 06: 55.930 Info 609 --- [Main] com.lkl.springboot.Application: Démarrage de l'application en 3,906 secondes (JVM fonctionne pour 4.184)
On peut voir que son port d'écoute 9090 est accessible avec succès en exécutant http: // localhost: 9090 / lkl / springboot / liaokailin.
Tomcat personnalisé
Dans les projets réels, la configuration simple des ports Tomcat ne répondra certainement pas aux besoins de chacun, vous devez donc personnaliser les informations de configuration de TomCat pour contrôler de manière flexible Tomcat.
Prenez l'exemple de définition de l'encodage par défaut
package com.lkl.springboot.contitainer.tomcat; import org.springframework.boot.context.embedded.embededServletContainerFactory; import org.springframework.boot.context.embedded.tomcat.tomcateddedServletContainerfactory; org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; / ** * Tomcat Configuration * @author liaokailin * @version $ id: tomcatconfig.java, v 0.1 octobre 4, 2015 12:11:47 AM LIAOOKAIL {@Bean public EmbedDedServletContainerFactory ServletContainer () {TomCatembedDeDServletContainerFactory Tomcat = new tomcatembeddedServletContainerFactory (); tomcat.setuRienscoding ("utf-8"); Retour Tomcat; }}Construisez le haricot de EmbedDedServletContainerFactory, et après avoir obtenu l'instance TomCatembedDeservletContainerFactory, vous pouvez définir Tomcat, par exemple, le codage est défini sur UTF-8 ici.
Configuration SSL
Générer un certificat
Keytool -Genkey -alias Springboot -KeyAlg RSA -Keystore / Users / Liaokailin / Software / CA1 / Keystore Set Motway 123456
Vérifiez que le certificat est correct dans Tomcat
Modifier le fichier tomcat / conf / server.xml
<Connecteur ProtoCol = "org.apache.coyote.http11.http11nioprotocol" port = "8443" maxThreads = "200" sched = "https" sécurisé = "true" ssLenabled = "true" keystorefile = "/ users / liaAKailin / logiciel / ca1 / keystore" keystorepass = "123456" clientAuth = "false" sslprotocol = "tls" />
Démarrez Tomcat et visitez http: // localhost: 8443
Spring Boot Embedded Tomcat SSL
Configurer les fichiers de ressources
server.port = 8443Server.ssl.enabled = trueserver.ssl.keyalias = springbootsserver.ssl.keypassword = 123456Server.ssl.keystore = / users / liaokailin / logiciel / ca1 / keystore
Démarrer la botte de printemps
Visitez https: // localhost: 8443 / Springboot / Helloworld
Configuration de surveillance multi-ports
Après avoir démarré SSL, vous ne pouvez aller sur HTTPS et ne peut pas y accéder via HTTP. Si vous souhaitez écouter plusieurs ports, vous pouvez utiliser l'encodage pour l'implémenter.
1. Déconnectez la configuration SSL précédente et définissez le serveur de configuration.port = 9090
2. Modifier TomcatConfig.java
package com.lkl.springboot.connainer.tomcat; import java.io.file; import org.apache.catalina.connector.connector; import org.apache.coyote.http11.http11nioprotocol; org.springframework.boot.context.embedded.embededServletContainerFactory; import org.springframework.boot.context.embedded.tomcat.tomcatembeddedServletContainerFactory; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; / ** * Tomcat Configuration * @Author liaokailin * @version $ id: tomcatconfig.java, v 0.1 octobre 4, 2015 liaokailin exp $ * / @ configurationPublic classe Tomcatconfig {@Bean EmbedDedDeservil Gens tomcat.setuRienscoding ("utf-8"); tomcat.addadditionalTomCatConnectors (créatisslconnector ()); Retour Tomcat; } Connecteur privé CreatresslConnector () {Connector Connector = nouveau connecteur ("org.apache.coyote.http11.http11nioprotocol"); HTTP11NIOProtocol Protocol = (Http11Nioprotocol) Connector.GetProtoColHandler (); essayez {file TrustStore = nouveau fichier ("/ utilisateurs / liaokailin / logiciel / ca1 / keystore"); Connector.SetScheme ("https"); protocole.SetsSLenabled (true); Connector.SetSeCure (true); Connector.Setport (8443); protoCol.SetKeyStoreFile (TrustStore.getAbsolutepath ()); protoCol.setKeyStorePass ("123456"); protocole.setKeyalias ("Springboot"); connecteur de retour; } catch (exception ex) {lancez new illégalStateException ("ne peut pas accéder à Keystore: [" + "keystore" + "]", ex); }}} Ajoutez plusieurs connexions d'écoute via la méthode AddAdditionalTomCatConnectors; À l'heure actuelle, vous pouvez utiliser le port HTTP 9090 et le port HTTPS 8443.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.