티스토리 뷰

반응형

Enable Multiple Connectors with Tomcat

운영환경 중 Http와 Https 포트 두 개를 다 열어야 하는 상황이 있을 수 있습니다.

저 같은 경우는 Http로 운영하던 서버를, 최근 Https로 바꿔야 하는 일이 있었는데요.

원래 계획은 Http 프로토콜을 사용해도, 내부에서 Redirect하여 Https로 이동하도록 설정하려 했는데..

WebMvcConfigurer를 상속받으면 제가 설정한 bean보다 WebMvcConfigurer가 먼저 올라가서 이러한 설정이 안된다고 합니다. 

그래서 결국은 Http와 Https를 다 허용하는 멀티 포트를 하기로 했습니다. 추가적으로 인프라팀의 도움을 받아 내부망에서는 Http로 붙고, 외부에서는 Https로 접속할 수 있도록 설정을 했습니다.

 

 

SpringBoot는 내장 톰캣을 사용하기 때문에, TomcatServletWebServerFactory를 이용하여 사용자가 Customizing할 수 있는 환경을 제공합니다.

Once you’ve got access to a WebServerFactory, you can often add customizers to it to configure specific parts, like connectors, server resources, or the server itself - all using server-specific APIs.

아래와 같이 톰캣에 Http 요청을 받을 수 있도록 Connector 설정을 했습니다.

@Configuration
public class ServletConfig {


    @Value("${server.port.http}")
    private int serverPortHttp;

    @Bean
    public ServletWebServerFactory serverFactory() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }
    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(serverPortHttp);
        return connector;
    }

}

 

properties 설정

server.port=8443
server.port.http=8080



#SSL
server.ssl.key-store=/home/tomcat/cert/ ..keystore
server.ssl.key-store-password=
server.ssl.key-password=
server.ssl.key-alias= 도메인

 

 

참고:

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html

반응형

'jvm언어관련 > Spring(SpringBoot)' 카테고리의 다른 글

IoC Container /BeanFactory /ApplicationContext  (0) 2019.09.14
HttpMessageConverters  (0) 2019.07.14
springboot maven profiles 설정  (0) 2019.05.01
Spring Data JPA Audit  (0) 2019.04.29
SpringBoot Mail 사용하기  (0) 2019.03.09
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함