서버내의 특정 URL의 경우 HTTP로 호출 되더라도 HTTPS로 전환 하여 Redirect 하고, 그 외의 URL의 경우는 HTTP로 연결한다.
Servlet Filter 기능을 이용하여 특정 서버에 요청 된 URL 들을 필터링 하여,
특정 URL의 경우에는 HTTP로 요청이 들어 오더라도 HTTPS로 연결하며, 그 이외의 URL은 HTTP로 연결한다.
유형 | 대상소스 | 설명 | 비고 |
---|---|---|---|
filter | egovframework.com.cmm.util.EgovUrlRewriteFilter.java | HTTPS Redirect filter |
해당없음
web.xml 파일에 다음과 같은 filter를 설정한다.
<filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>egovframework.com.cmm.util.EgovUrlRewriteFilter</filter-class> <init-param> <param-name>targetURI</param-name> <param-value>/sample1/, /sample/</param-value> </init-param> <init-param> <param-name>httpPort</param-name> <param-value>8080</param-value> </init-param> <init-param> <param-name>httpsPort</param-name> <param-value>8181</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
UrlRewrite filter 의 경우 Servlet Filter 방식으로 구현 된 특정 URL에 대하여 HTTPS로 재 설정 해 주는 기능이다.
위와 같이 설정하면, 서버에 요청 된 URL의 형태와 param-name이 targetURI로 정의 된 AntPattern을 AntPathMatcher 방식으로 비교하여,
요청된 URL이 해당 패턴에 해당될 경우 HTTPS 방식으로 전환하며, 그 이외의 요청에 대해서는 HTTPS로 요청이 들어 오더라도 HTTP로 전환하여 서버로 전송한다.
추가로 HTTP 및 HTTPS 포트 지정을 위하여 <param-name>의 값 중 httpPort 및 httpsPort 를 정의할 수 있다.
targetURI를 지정하는 방법은 param-name이 targetURI로 지정 된 param-value에 전환 할 URI 패턴을 입력하면 되고, ”,” 구분자를 통해 중복 등록이 가능하다.
(예시) <param-value>/sample1/, /sample/, /index.do</param-value> )
해당없음