header에 _포함 시 nginx proxy 에 전달되지 않을 경우

NginX IT

Nginx로 Reverse Proxy를 구축하고 뒷단에 node.js로 API 서버를 돌리는 중 이상하게도 header key에 _가 포함되어있을 경우 정상적인 response를 하지 않는 현상을 발견하고 검색해본 결과.

nginx에서는 기본적으로 헤더에 _가 있으면 제거하고 전달한다고 한다.
CGI 변수 맵핑 시 발생하는 문제점을 방지할 목적이라고 하는데 나는 _이 필요하다고…!

nginx의 server이나 http block에 다음과 같은 옵션을 하나 추가해둔 뒤 nginx를 reload 해주면 해결된다.

underscores_in_headers on;