1

私のサイトは node.js で実行されており、Nginx を使用して Cookie のないドメインから静的ファイルをサーバーしています。これらのファイルについて、有効期限ヘッダーを設定するように Nginx をセットアップしました。ただし、私のファビコンでは機能していないようです。

私のNginxのデフォルト設定ファイル:

# static content
server {
        server_name static.domain.com;
        root /my/website/lives/here/public;

        location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 365d;
        }
}

Ico は mime.types に minetype を持っています:

image/x-icon    ico;

Cache-control または Expires を示さないサービス応答ヘッダー:

Accept-Ranges:bytes
Connection:keep-alive
Content-Length:32988
Content-Type:image/x-icon
Date:Tue, 11 Dec 2012 23:20:19 GMT
Last-Modified:Sat, 08 Dec 2012 11:51:28 GMT
Server:nginx/1.1.19

そして、これらは、キャッシュ コントロールがあり、期待どおりに期限切れになるランダム イメージの応答です。

Cache-Control:max-age=31536000
Connection:keep-alive
Date:Tue, 11 Dec 2012 23:24:00 GMT
Expires:Wed, 11 Dec 2013 23:24:00 GMT
Last-Modified:Tue, 11 Dec 2012 23:04:24 GMT
Server:nginx/1.1.19

ファビコンが静的ドメイン (static.domain.com/favicon.ico) から提供されていて、Web サイトのドキュメント ルート (domain.com/favicon.ico) から提供されていないかどうかを確認しました。何が間違っているのか、どうすればこれをデバッグできるのか、誰にも分かりますか?

4

1 に答える 1

0

どうやら、インクルード ファイルに隠されているファビコンに一致する別の行があったようですが、簡単にするために質問では省略しました。

location = /favicon.ico {
    log_not_found   off;
    access_log  off;
}

これを削除すると(このサイトにファビコンが存在するため)、私の問題は解決しました:-)

于 2012-12-12T00:54:55.953 に答える