2台の別々のマシンにnodejsサーバーとSSL対応のnginxがあります。リクエスト/レスポンスはすべて正常に機能しますが、nginx でキャッシュを取得する際に問題が発生します。私のサーバー構成は以下です。最初は、'location /' ブロックにプロキシ キャッシュ ステートメントがあり、その時点ではインデックス ページのみをキャッシュしていました。nginx は set-cookie ヘッダーを含むリクエストをキャッシュしないことを読んだので、それらも無視しました (ただし、インデックス ページが以前にキャッシュされるのを止めませんでした)。これを丸一日いじってみましたが、nginx に js ファイルと css ファイルをキャッシュさせることができませんでした。このようなリクエストはすべて、ノード サーバーにルーティングされます。アクセスログやエラーログに異常なエントリはありません。私は何を間違っていますか?
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /webserver/nginx/credentials/cert;
ssl_certificate_key /webserver/nginx/credentials/key;
ssl_session_cache shared:SSL:10m;
location ~ .*\.(ico|css|js|gif|jpe?g|png)$ {
proxy_pass http://somewhere:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http:// https://;
proxy_ignore_headers "Set-Cookie";
proxy_cache one;
proxy_cache_valid 200 1d;
proxy_cache_valid any 1m;
expires 7d;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
}
location / {
proxy_pass http://somewhere:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http:// https://;
}
}