이 기사는 Spring Boot에 포함 된 컨테이너의 Tomcat 구성을 소개하고 다음과 같이 공유합니다.
기본 컨테이너
Spring Boot의 기본 웹 프로그램을 통해 Tomcat Embedded Container Tomcat은 포트 8080을들을 수 있으며 기본 ServletPath는 포트 및 컨텍스트 경로의 수정을 통해 /입니다. Spring Boot에서는 수정 방법이 매우 간단합니다.
리소스 파일에서 구성 :
Server.port = 9090 Server.ContextPath =/lkl
스프링 부츠를 시작하십시오
2015-10-04 00 : 06 : 55.768 정보 609 --- [Main] Oswshandler.SimpleUrlHandlermping : MAPPED URL 경로 [/**/favicon.ico] 유형의 처리기에 [class org.springframework.web.servlet.resource.resourcehttpremler] 2015-10-0-04. 00 : 06 : 55.844 Info 609 --- [Main] OsjeaAnnotationMbeanExporter : Startup2015-10-04 00 : 06 : 06 : 55.928에 JMX 노출에 대한 콩 등록 00 : 06 : 55.930 Info 609 --- [Main] Com.lkl.springboot.application : 3.906 초 안에 시작된 응용 프로그램 (4.184에 대한 JVM 실행)
http : // localhost : 9090/lkl/springboot/liaokailin을 실행하여 청취 포트 9090에 성공적으로 액세스 할 수 있습니다.
맞춤형 Tomcat
실제 프로젝트에서는 Tomcat 포트의 간단한 구성이 모든 사람의 요구를 충족시키지 못하므로 Tomcat을 유연하게 제어하기 위해 Tomcat 구성 정보를 사용자 정의해야합니다.
기본 인코딩을 정의하는 예를 들어보십시오
package com.lkl.springboot.container.tomcat; import org.springframework.boot.context.embedded.embeddedservletcontainerfactory; import org.spramework.boot.context.embedded.tomcat.tomcatembeddedservletcontainer actrafortory; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration;/** * tomcat configuration * @author liaokailin * @version $ id : tomcatconfig.java, v 0.1 10 월 4 일 12:11:47 am liaokailin exp exp exp exp exp exp exp $ */ @spigationcailin empigationcailin empigationcailin empigation classe. tomcatconfig {@bean public embeddedservletcontainerfactory servletcontainer () {tomcatembeddedservletcontainerfactory tomcat = 새로운 tomcatembeddedservletcontainerfactory (); tomcat.seturiencoding ( "UTF-8"); 반환 Tomcat; }}EmbeddedServletContainerFactory의 Bean을 구축하고 TomCatembeddedServletContainerFactory 인스턴스를 얻은 후 Tomcat을 설정할 수 있습니다. 예를 들어 인코딩이 UTF-8로 설정됩니다.
SSL 구성
인증서를 생성하십시오
keyTool -genkey -Alias springboot -keyalg rsa -keystore/user/liaokailin/software/ca1/keystore set password 123456
Tomcat에서 인증서가 올바른지 확인하십시오
tomcat/conf/server.xml 파일을 수정하십시오
<커넥터 프로토콜 = "org.apache.coyote.http11.http11nioprotocol"port = "8443"maxthreads = "200"scheme = "https"secure = "true"sslenabled = "true"keystorefile = "/user/liaokailin/software/ca1/keystore"keystorepass = "123456" sslprotocol = "tls"/>
Tomcat을 시작하고 http : // localhost : 8443을 방문하십시오
스프링 부트 내장 Tomcat SSL
리소스 파일을 구성합니다
Server.port = 8443server.ssl.enabled = trueserver.ssl.keyalias = springbootserver.ssl.keypassword = 123456server.ssl.keystore =/users/liaokailin/software/ca1/keystore
스프링 부츠를 시작하십시오
https : // localhost : 8443/springboot/helloworld를 방문하십시오
멀티 포트 모니터링 구성
SSL을 시작한 후에는 HTTP로만 이동하여 HTTP를 통해 액세스 할 수 없습니다. 여러 포트를 듣고 싶다면 인코딩을 사용하여 구현할 수 있습니다.
1. 이전 SSL 구성을 로그 아웃하고 구성 서버를 설정합니다. 포트 = 9090
2. tomcatconfig.java를 수정하십시오
package com.lkl.springboot.container.tomcat; import java.io.file; import org.apache.catalina.cannector.connector; import org.apache.coyote.http11.http11nioprotocol; import org.springframewort.contectorory lemportorytoryted org.springframework.boot.context.embedded.tomcat.tomcatembeddedservletcontainerfactory; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration;/** ** ** ** ** @authortoor liaokailin* @author lia -lecaLin Tomcatconfig.java, v 0.1 2015 년 10 월 4 일 Liaokailin exp $ */ @configurationPublic Class TomcatConfig {@bean public embeddedServletContainerFactory servletcontainer () {tomcatemedServletContainerFactory tomcat = 새로운 TOMCATEMBEDDDDSDDDDDDSERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERCOMPOCTORY (); tomcat.seturiencoding ( "UTF-8"); tomcat.addadditionaltomcatconnectors (createsslconnector ()); 반환 Tomcat; } private Connector createSslConnector () {커넥터 커넥터 = new Connector ( "org.apache.coyote.http11.http11nioprotocol"); http11nioprotocol protocol = (http11nioprotocol) connector.getprotocolhandler (); try {file truststore = 새 파일 ( "/users/liaokailin/software/ca1/keystore"); Connector.setScheme ( "https"); Protocol.SetSSLENABLED (True); Connector.SetSecure (True); Connector.Setport (8443); Protocol.setKeyStoreFile (TrustStore.getAbsolutepath ()); Protocol.setKeyStorePass ( "123456"); Protocol.setKeyalias ( "SpringBoot"); 리턴 커넥터; } catch (Exception (Exception Ex)) {New New OrgalStateException ( "CANT Access KeyStore : [" + "keystore" + "]", ex); }}} AddAdditionalTomCatConnectors 메소드를 통해 여러 청취 연결을 추가하십시오. 현재 HTTP 9090 포트와 HTTPS 8443 포트를 사용할 수 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.