ドキュメントはこれを言います:
これらのディレクティブは、現在のレベルで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;";
}
正しくないようです。何か案は?
あなたはngx_headers_moreモジュールの後にいます: https://www.nginx.com/resources/wiki/modules/headers_more/
そして、はい、add_headerの動作は本当にイライラします:)