spring/spring security
[spring security5] URL 더블슬래시 허용 - The request was rejected because the URL was not normalized.
moonsiri
2020. 10. 14. 22:09
728x90
반응형
Spring security의 기본정책은 URL에 더블 슬래시가 들어가는 것을 허용하지 않습니다.
예를 들어 https://moonsiri.tistory.com/category와 같은 URL을 사용할 때, URL 더블 슬래시 처리가 안되어있는 상태에서 https://moonsiri.tistory.com//category로 요청이 들어오면 에러가 발생합니다.
org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:296)
만약 더블 슬래시를 허용하고 싶다면 아래와 같이 HttpFirewall Bean을 등록해주면 됩니다.
@Bean
public HttpFirewall defaultHttpFirewall() {
return new DefaultHttpFirewall();
}
+)
SpringBoot 2.6 버전부터는 URL 패턴 매칭 기본전략이 AntPathMatcher에서 PathPatternPaser로 변경되어 더블 슬래시를 제거하지 않고 URL 패턴 매칭을 하기 때문에 URL 매칭에 실패할 수 있습니다. 자세한 내용은 아래 포스팅을 참고해주세요.
[Reference]
728x90
반응형