50 * 페이지 용 Nginx add_header


19

나는 현재 일종의 50 * 오류를 보낼 때 응답에 헤더를 추가하기 위해 nginx를 얻으려고합니다. 이미 http 블록에 add_header 지시문이 있으며 오류를 제외하고 모든 요청에 ​​대해 존중됩니다. 또한 내 호스트 중 하나에서 다음을 시도했습니다.

location /mediocregopheristhecoolest {
    add_header X-Test "blahblahblah";
    return 502;                                                                                                    
}       

해당 페이지로 이동하면 502가 표시되지만 헤더는 없습니다. 이것은 단순히 nginx 가하지 않는 것입니까, 아니면 잘못하고 있습니까?


$ curl -I <url> // mediocregopheristhecoolest의 출력을 게시 할 수 있습니까
Chida

답변:


21

설명서 에는 add_header에 "응답 코드가 200, 204, 206, 301, 302, 303, 304 또는 307 인 경우 지정된 필드를 응답 헤더에 추가합니다. 값에는 변수가 포함될 수 있습니다." 따라서 502에서는 작동하지 않습니다.

타사 헤더 더 많은 모듈을 사용하여 다른 코드에 헤더를 추가 할 수 있다는 것을 추가하는 것을 잊었습니다 . 그래도 추가하려면 다시 컴파일해야 할 것입니다.


marat의 의견을보십시오 : 새로운 nginx 버전은 응답 코드에 상관없이 헤더 설정을 지원합니다
Laurens Rietveld

44

Nginx 1.7.5부터는 always응답 코드에 관계없이 헤더를 추가하는 데 사용할 수 있습니다 .

add_header X-Test "blahblahblah" always;

1
실망스럽게도 데비안 저장소 의 버전은 현재 구식 (1.6.x)이지만 nginx 는 최신 안정 빌드 (1.8.x)로 자체 저장소유지 관리합니다 .
kungphu

이미 작동중인 데비안 시스템을 업그레이드하려면 데비안 백 포트가 더 안전 합니다 . ). 그리고 postrm 스크립트는 로그를 제거합니다. 그리고 다른 작은 차이의 커플 ...
라요스 Veres
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.