[nginx] 4xx, 5xx 사용자 정의 헤더 유지

문제.
nginx 사용 중, 반환 을 요청 한 상태 code 가 404 또는 50x 와 같 으 면 사용자 정의 header 를 되 돌려 줍 니 다.
분석 과 해결
nginx 문서 에서 addheader 부분 에 이런 말 이 있어 요.
Adds the specified field to a response header provided that the response code equals 200, 201, 204, 206, 301, 302, 303, 304, or 307. A value can contain variables.
그 러 니까 addheader 는 일반적으로 4xx, 5xx 의 응답 에 작용 하지 않 습 니 다.
하지만 1.7.5 버 전 이후 always 키 워드 를 사용 해 해결 할 수 있 으 며, 다음은 테스트 해 보 겠 습 니 다.
세 션 설정
    location /hello {
        add_header Access-Control-Allow-Origin * always;
        return 404;
    }

테스트 결과
curl -i  http://127.0.0.1:9999/hello

HTTP/1.1 404 Not Found
Server: openresty/1.9.3.1
Date: Mon, 01 Feb 2016 11:17:59 GMT
Content-Type: text/html
Content-Length: 174
Connection: keep-alive
Access-Control-Allow-Origin: *

테스트 성공 을 볼 수 있 습 니 다.
확장 모듈
또한 춘 형 이 쓴 headers - more - nginx - module 로 일 을 할 수 있 으 니 구체 적 으로 문 서 를 참고 하 세 요.
REF
  • http://serverfault.com/questions/418709/nginx-add-header-for-a-50-page
  • 좋은 웹페이지 즐겨찾기