안녕하세요.
말씀하신 증상은 특정 URL 경로에서만 JSON 요청이 차단되는 것으로 보아, 애플리케이션 방화벽(WAF)이나 리버스 프록시 레벨에서 URL 기반 정책이 적용되고 있을 가능성이 큽니다. 특히 JSON 데이터에 HTML 인코딩된 문자가 포함될 경우, 일반적인 XSS 필터링 규칙에 의해 차단되는 경우가 많습니다. 문제는 전체 보안 정책을 완화하지 않고 해당 경로에만 예외를 적용해야 한다는 점인데, 이는 대부분의 WAF나 보안 모듈에서 “경로 기반 룰 예외” 기능을 통해 해결할 수 있습니다.
예를 들어 IIS 환경에서 web.config를 사용하는 경우라면 <requestFiltering> 섹션에서 특정 URL 경로에 대해 허용 규칙을 별도로 지정할 수 있습니다. Apache + ModSecurity 환경이라면 SecRuleRemoveById를 Location 블록 안에 선언하여 특정 경로에서만 해당 룰을 비활성화할 수 있습니다. Nginx + ModSecurity 역시 location /특정경로 { ... } 블록 내부에서 룰 예외를 선언하는 방식으로 처리합니다. 중요한 점은 전역 설정을 건드리지 않고, 문제되는 룰 ID만 해당 경로에 대해 제거하거나 우회하는 것입니다.
즉, 접근 방식은 다음과 같습니다.
- 차단 로그에서 정확히 어떤 룰 ID가 트리거되는지 확인합니다. 예:
XSS filter rule #942100. - 해당 룰을 전역적으로 비활성화하지 말고, 특정 URL 경로 블록 안에서만
SecRuleRemoveById 942100같은 방식으로 예외 처리합니다. - JSON 요청이 정상적으로 통과되는지 확인하고, 다른 경로에서는 여전히 룰이 적용되는지 검증합니다.
이렇게 하면 보안 정책을 전체적으로 완화하지 않고, 문제되는 특정 경로에 대해서만 예외를 적용할 수 있습니다. 운영 환경에 따라 적용 방식은 다르므로, 사용 중인 웹 서버와 보안 모듈 종류를 알려주시면 더 구체적인 설정 예시를 드릴 수 있습니다.여기서 유용한 정보를 얻으셨기를 바랍니다. 이 내용이 문제에 대한 통찰을 얻는 데 도움이 되었다면 답변을 채택해 주시면 감사하겠습니다. 추가로 궁금한 점이 있으시면 언제든지 메시지를 남겨 주세요. 좋은 하루 보내세요!
HP.