nginx add_header overwrite 문제

# nginx 에서 커스텀 헤더를 추가하기 위해 add_header 를 사용한다.
# 그런데 현재 스코프외에 상위 스코프에서 설정한 헤더는 설정되지 않는다.
# 다음의 경우
nginx.conf
http {
    add_header aaa "bill";
    server {
        server_name ysoftman.server.com;
        add_header bbb "yoon";
    }
}

# 응답을 보면 bbb 헤더값만 설정되어 있다.
curl -I "http://ysoftman.server.com"
bbb: yoon


# add_header 설명(http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header)
# 현재 레벨의 add_header 가 없는 경우만 상위 레벨(스코프)의 add_header 값을 상속 받는다고 한다.

# aaa, bbb 헤더를 모두 설정하려면 최하위 스코프에 설정해야 한다.
nginx.conf
http {
    server {
        server_name ysoftman.server.com;
        add_header aaa "bill";
        add_header bbb "yoon";
    }
}

# 응답을 보면 aaa, bbb 헤더 모두 설정되어 있다.
curl -I "http://ysoftman.server.com"
aaa: bill
bbb: yoon

comments:

댓글 쓰기