오퍼링 > 소프트웨어 테크놀로지 서비스 > 오픈소스 SW > 미들웨어 > 자료실
[FAQ/WildFly] 호출 URL에 기호 문자 ^ 포함을 하려면 어떻게 해야 하나요?
2021.02.18
Question.
서비스 호출 URL에 하기와 같이 기호문자 "^^" 포함 시 HTTP 400 오류가 발생합니다.
ex) http://172.21.133.114:8084/ESBTest/?^^44
WebLogic 환경에서는 정상적으로 호출되는데, WildFly 서버에서 처리될 때만 HTTP 400 오류가 발생됩니다.
WildFly 에서도 기호 문자를 정상적으로 호출하기 위해서는 어떻게 해야하나요?
Answer.
WildFly 에서는 보안적인 이슈로 호출 URL에 unescaped character가 들어가져 있을 때, HTTP 400 에러를 발생시킵니다.
기호문자 "^" 는 unescaped character로 분류되기 때문에 브라우저 URL 호출 시 HTTP 400 에러가 발생됩니다.
unescaped character가 포함된 URL을 호출하고 싶으시다면, 환경설정 파일인 standalone-ha.xml(혹은 standalone.xml 파일)에 allow-unescaped-characters-in-url="true" 부분을 추가해주시거나, 또는 cli를 사용해서 allow-unescaped-characters-in-url="true" 부분을 추가하도록 합니다.
변경사항을 적용하기 위해서는 WildFly 서버를 재기동 해주셔야 합니다.
*standalone-ha.xml 파일에 직접 수동으로 옵션을 추가하는 방법 (vi 편집기로 standalone-ha.xml 파일을 열고 allow-unescaped-characters-in-url="true" 부분을 추가)
*cli를 사용해서 추가하는 방법
하기의 명령어를 사용해서 cli에 접속한 후, 세 가지 명령어를 수행해줍니다. (cli 접속을 위해서 WildFly 서버가 기동된 상태여야 합니다)
-cli 접속 명령어 : ${WildFly_Home}/bin/jboss-cli.sh --connect
-http-listener 쪽에 allow-unescaped-characters-in-url 옵션 값 추가해주는 cli 명령어
-https-listener 쪽에 allow-unescaped-characters-in-url 옵션 값 추가해주는 cli 명령어
-ajp-listener 쪽에 allow-unescaped-characters-in-url 옵션 값 추가해주는 cli 명령어
*옵션 추가하기 전 브라우저 호출 화면 (HTTP 400 에러 발생)
*옵션 추가 후 브라우저 호출 화면 (정상적으로 호출)