IT/MW

[Tomcat] "/", "\" URI에서 사용

yskko 2021. 3. 26. 16:30

Apache Tomcat에서 "/", "\" 사용

기본적으로 Tomcat에서 "/"(Slash)나 "\"(Backslash)가 URI에 들어가는 경우, 400 Error가 발생한다.

정상적인 URI라고 인식하지 않는건데, 하지만 이를 사용해서 호출하게되는 경우가 종종 있다.

정상적인 호출이라고 인식하게 하기 위해선, Java Option에 SLASH와 BACKSLASH를 허용하게 해줘야 한다.

 

JAVA_OPTS="JAVA_OPTS -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
JAVA_OPTS="JAVA_OPTS -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true"
export JAVA_OPTS

Tomcat Start 스크립트나, 환경변수를 읽을 수 있는 파일에 위 내용을 기입해 준다.

Tomcat을 재기동 해서 해당 내용이 적용되게 해주면 된다.

 

 

When the variable ALLOW_ENCODED_SLASH is true, Tomcat allows URLs to contain %2F.

When the variable ALLOW_BACKSLASH is true, Tomcat allows URLs to contain %5C.

 

출처 : community.denodo.com/docs/html/browse/6.0/vdp/administration/appendix/allow_uris_with_slash_and_backslash_in_apache_tomcat/allow_uris_with_slash_and_backslash_in_apache_tomcat