私はnginxサーバーを持っており、CSSおよびJSファイル用にVary:Accept-Encodingヘッダーを送信する方法に関する情報を見つけることができません。誰もこれについての情報を持っていますか?Set Vary:Accept-Encoding Header(nginx)
ありがとうございます!
私はnginxサーバーを持っており、CSSおよびJSファイル用にVary:Accept-Encodingヘッダーを送信する方法に関する情報を見つけることができません。誰もこれについての情報を持っていますか?Set Vary:Accept-Encoding Header(nginx)
ありがとうございます!
これはnginx documentationからのものです。
gzip_vary syntax: gzip_vary on|off default: gzip_vary off context: http, server, location
"Vary: Accept-Encoding"
の応答ヘッダを有効にします。この ヘッダーは、IE 4-6がバグのためにコンテンツをキャッシュしないようにします(2を参照)。
ちょうどgzip_vary on;
を追加すると、それはその仕事を行う必要があります。
また、gzip、gzip_static、またはgunzipのいずれかの指示がアクティブであることを確認してください。あなたがそれを設定したいドメイン/サブドメインのserver {
インサイド
、ファイルを保存し、nginxのを再起動
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
gzip_vary on;
を追加します。
私が知る限り、これは唯一正しい答えです。デフォルトはtext/htmlなので、gzip_typesはここのキーです。したがって、さまざまなコンテンツタイプでは可変は有効になりません。 –
私のnginxサーバーのvhostファイルでうまくいった。ありがとう! – jamescampbell
シンプルです。
vim /etc/nginx/nginx.conf
セクションの下底部付近に以下を追加します:nginxのconfの中
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
だけgzip_vary on;
パラメータのコメントを解除し、nginxのサービスを再起動またはリロード:
service nginx restart
これは修正する必要があります問題。旧バージョンのnginxを使用している場合は、gzip on;
を有効にする必要があります。これは、可変ヘッダーが機能するために必要です。
こちらがお役に立てば幸いです。 FYI、これは、それぞれのサーバーブロックで上書きされない限り、すべてのサーバー/サイトのconfファイルに適用されます。 nginxの、ApacheとIISのためserver {}
出典先:https://www.maxcdn.com/blog/accept-encoding-its-vary-important/
gzip_typesを無効にするとより多くの問題が発生します。 –
あなたは他の回答を試しても見ている場合は、以下のかもしれないが(あなたがGTMetrixを使用して、ページの速度をテストしている場合など)、オフに変更ヘルプ:
すべてのgzip_typeが/etc/nginx/nginx.confのhttpセクションにも設定されていることを確認してください。 * /の/ etc/nginxの/サイトで入手可能な
サーバブロックを使用すると、インクルードヘッダとgzip_typesを変更設定することができますが、あなたのサイトのセットアップを持っているかに応じて、あなたが彼らの前にファイルを処理して返すことができる1つの場所であります設定のそのビットに達する。
/etc/nginx/nginx.confには、httpセクションがあります。ここには、gzip_typesとgzip_varyもあります。
私にとっては、CSSとJSは静的なファイルで、(wordpress)nginx sites-availableファイル(私はそれの前にニスがあります)を打つ前にサービスされていました。
したがって、nginx.confのhttpセクションにgzip_typesの完全なリストを追加すると、私の問題が修正されました。
これは正しい答えではないと思います。少なくとも、一人ではなく、おそらくすべてのnginxバージョン(これは私が知ることができません)ではありません。 gzip_varyは単独でgzipを有効にしますが、デフォルトのgzip_typesは保持され、デフォルトのtext/html mimetypeとは異なるリソースに対してVaryは有効になりません。 http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip(nginx 1.4.6でテスト済み) –
@AlanFranzoniこの質問は、gzipを有効にする、または他のコンテンツタイプをエンコードすることとは関係ありません。可変ヘッダーを追加する。 – jbg
@jbg私はVaryの目的を誤解していると思います。これは圧縮で頻繁に使用されます(https://www.fastly.com/blog/best-practices-for-using-the-vary-headerを参照)。 gzipとvaryが一緒に何もしない場合、なぜnginxオプションはgzip_varyと呼ばれますか? –