
문서에는 다음과 같이 나와 있습니다.
이러한 지시어는 현재 수준에 정의된 add_header 지시어가 없는 경우에만 이전 수준에서 상속됩니다.
location
내 문제는 다음과 같이 캐시하고 싶은 블록이 여러 개 있다는 것입니다 .
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
location ~ ^/img/(.*)\.(png|jpg|jpeg|gif|bmp)$ {
expires 1w;
add_header Cache-Control public;
}
하지만 이렇게 하면 블록 외부에 선언된 모든 헤더가 손실됩니다. 따라서 유일한 방법은 모든 위치 블록에서 해당 헤더를 복제하는 것입니다. 예:
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
location ~ ^/img/(.*)\.(png|jpg|jpeg|gif|bmp)$ {
expires 1w;
add_header Cache-Control public;
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
}
옳지 않은 것 같습니다. 어떤 아이디어가 있나요?
답변1
ngx_headers_more 모듈 뒤에 있습니다. https://www.nginx.com/resources/wiki/modules/headers_more/
그리고 그렇습니다. add_header의 동작은 정말 짜증스럽습니다 :)