Все привет.
Решил попробовать proxy_store. Но возникли проблемы.
Я хочу при помощи него, кэшировать статику.
Составил конфигурацию для nginx/1.1.19:
http {
server {
listen 6543;
location / {
proxy_pass http://localhost:8080;
}
location /static/ {
root /var/cache/nginx;
error_page 404 = /fetch$uri;
}
location /media/ {
root /var/cache/nginx;
error_page 404 = /fetch$uri;
}
location /fetch/ {
internal;
expires max;
proxy_set_header If-None-Match "";
proxy_set_header If-Modified-Since "";
proxy_pass http://localhost:8080/;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /var/cache/nginx/temp;
alias /var/cache/nginx/;
}
}
}
Но что-то не учтено. Файлы сохраняются, при первом запросе, с этим нормально, при следующем запросе, браузер всё отображает
и пишет 304, как я понимаю, он при первом запросе, сохранил у себя в кэше то что отдал ему nginx и теперь отображает это.
Но если почистить кэш браузера, то nginx ничего не отдаёт, видимо он сравнивает дату файлов, которые у него закэшились и возвращает 304, но браузеру нечего взять, его кэш почистили.
Подскажите пожалуйста, что подкоректировать, чтобы nginx отдавал из файлы из кэша, если в браузере кэш почистили?
Ну или может, как-то по другому нужно сделать?