이 설정은 Spring boot embeded Tomcat 기준 입니다 !
Servlet Container
로 Tomcat
을 사용할 경우 8.5 이후 9 버전
이상을 사용하는 것을 권장한다. (설정이 매우 어려움) 9 version 부터는 별도의 설정이 필요 없다.# terminal
$ keytool -genkey
-alias sseob
-storetype PKCS12
-keyalg RSA
-keysize 2048
-keystore keystore.p12
-validity 4000
server.ssl.key-store=keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=123123
server.ssl.key-alias=sseob
server.port=8443
/hello
라는 Url을 Mapping하는 Controller를 만들어 놓고 아래 명령어로 확인하자.$ curl -I -k --http2 https://localhost:8443/hello
@Bean
public ServletWebServerFactory servletWebServerFactory() {
TomcatServletWebServerFactory tomcatServletWebServerFactory = new TomcatServletWebServerFactory();
tomcatServletWebServerFactory.addAdditionalTomcatConnectors(createStandartConnector());
return tomcatServletWebServerFactory;
}
private Connector createStandartConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
return connector;
}
$ curl -I -k --http2 http://localhost:8080/hello
$ curl -I -k --http2 https://localhost:8443/hello
server.http2.enabled=true