SpringBoot , Thymeleaf
[Springboot] http 접속 시 https 로 자동 전환 시키기
수동애비
2025. 6. 2. 10:21
반응형
http 로 접속 시 https 로 리다이렉트 시키기 위해 다음과 같이 webConfig 클래스를 추가 하고 bean 을 등록한다.
@Configuration
public class WebConfig {
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(createHttpConnector());
return tomcat;
}
private Connector createHttpConnector() {
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setScheme("http");
connector.setPort(80); // http 로 받는 포트
connector.setSecure(false);
connector.setRedirectPort(443); // https 로 전환시 사용하는 포트
return connector;
}
}
문제는 동일 포트로 접속 시 http 를 https 로 바뀌게 하는건 안되는 것이 방법을 모르겠음.
http 와 https 포트를 다르게 bind 했을 때만 동작을 함.