본문 바로가기
java

스프링부터 tomcat connector 커스터마이징

by 후린트 2022. 5. 3.
반응형

nginx + springboot 조합으로 사용하여 

nginx와 springboot가 내부적으로 http 통신을 한다고 하면
springboot에서 request.getRequestUrl() 메소드를 호출하게 되면 
scheme 이 항상 http로 return하도록 되어 있어서

request.getRequestURL을 사용하여 redirectURL을 설정하게 되면 http로 주소가 전달된다.
(request.getRequestURL 함수를 내부적으로 살펴보면 rquest.getScheme() 이 사용된다.)

구글 및 페이스북을 통해서 oauth를 연동하게 되면 redirectionURL을 설정하게 되는데 
반드시 https로 입력되도록 되어 있기 때문에 redirectURL이 https로 전달되도록 해야한다.

springboot에서 제공하는 TomcatConnectorCustomizer 를 구현하게 되면 
내장된 톰캣 connector설정을 변경할 수 있다.

@Configuration
public class EmbbedTomcatConnectorCustomizer implements TomcatConnectorCustomizer{

	@Override
	public void customize(Connector connector) {
		connector.setScheme("https");
	}

}

 

위와같이 connector에서 scheme 을 https로 지정하게 되면 request.getSchem()을 사용시에
"https" 값을 리턴 받게 된다.

반응형