방화벽 정책 중 OPTIONS 메소드 관련 문의

안녕하세요.

WAF 관련 문제로 문의드립니다. CORS Preflight(OPTIONS 요청)

현재 서비스 구성은 아래와 같습니다.

브라우저 사용자 → WAF → L4 → WEB → AP(서비스, 내부) ← → AP(웹한글기안기, 내부)

기관 방화벽 정책에서 HTTP 메소드 중 OPTIONS가 차단 또는 정책에 포함되면서 서비스 이용 시 문제가 발생하고 있습니다.
방화벽에서 해당 정책을 제거할 경우에는 정상 동작하는 것을 확인하였습니다.

이와 관련하여 다음 사항을 문의드립니다.

  1. 웹한글기안기 서버 설정에서 OPTIONS 메소드를 GET 등 다른 메소드로 처리하도록 변경할 수 있는 설정이 있는지

  2. 또는 OPTIONS 메소드를 사용하지 않도록 우회하거나 대체할 수 있는 다른 처리 방법이 있는지

확인 부탁드립니다.

감사합니다.

안녕하세요.

질문하신 두 가지 사항에 대해 답변드립니다.

  1. OPTIONS 메소드를 다른 메소드로 변경하는 서버 설정 여부

OPTIONS 메소드는 브라우저가 Cross-Origin 요청 전 자동으로 발송하는 표준 동작이므로, 서버 설정으로 메소드 자체를 바꾸는 것은 구조적으로 불가능합니다.

  1. OPTIONS 메소드를 우회하거나 대체하는 방법

포럼 유사 사례를 참고하면, 현실적으로 유효한 해결 방향은 아래 두 가지입니다.

첫 번째, 웹한글기안기 서버와 서비스 서버를 동일 Origin으로 구성하는 방법입니다.
두 서버가 동일한 도메인/포트로 묶이면 CORS Preflight 자체가 발생하지 않습니다. 앞단 WEB 서버(Apache/Nginx 등)에 리버스 프록시를 구성해서 웹한글기안기 요청을 같은 Origin으로 포워딩하는 방식이 가장 현실적입니다. 포럼의 유사 사례에서도 이 방식(프록시 서버 추가)으로 해결한 사례가 확인됩니다.

예시 (Nginx 리버스 프록시):

location /webhwpctrl/ {
    proxy_pass http://[웹한글기안기_내부IP]:[포트]/webhwpctrl/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

이렇게 하면 브라우저 입장에서는 동일 Origin으로 인식되어 OPTIONS Preflight가 발생하지 않습니다.

두 번째, WAF에서 OPTIONS 메소드를 허용하되 필요한 경우 접근 제어는 IP 또는 Referer 기반으로 보완하는 방법입니다.
OPTIONS 메소드는 실제 데이터 전송이 없는 사전 확인 요청이므로, WAF 정책에서 OPTIONS를 허용하더라도 보안 리스크는 낮습니다.

결론적으로 가장 권장드리는 방향은 리버스 프록시를 통한 동일 Origin 구성입니다.
WAF나 방화벽 정책을 건드리지 않고도 OPTIONS Preflight 자체를 발생시키지 않을 수 있습니다.

감사합니다.