Я начал разбираться с proxy_store, потому что у меня не получилось закэшировать статику при помощи proxy_cache.
И сейчас опять не вызодит. Может быть proxy_cache умеет только html страниы кэшить?
Вот простой конфиг.
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=static_cache:100m inactive=120m max_size=500M;
server {
listen 6543;
# location / {
# proxy_pass http://localhost:8080;
# }
location / {
expires 60d;
proxy_pass http://localhost:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache static_cache;
proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
proxy_cache_valid 1d;
}
}
}
В итоге при одном запросе главной страницы, создаются всего 3 файла, один с пустым запросом, второй со странице html и один с JSON.
Но на этой странице, куча запросов от статики и JS. Браузер показывает, что все они прогрузились норм.
А если location ставить конкретно на статику /static/ тогда вообще кэш не создаётся.
Почему картинки и JS не кэшируются?