У меня есть обратный прокси-сервер NGINX, который находится перед сервером node.js (экспресс). С довольно базовой конфигурацией. Проблема, с которой я столкнулся, связана с функцией кеширования прокси-сервера NGINX. Вот установка.
http {
proxy_cache_path /tmp/nginx/zone1 levels=1:2
keys_zone=zone1:10m max_size=10g
inactive=10m use_temp_path off;
...
server {
...
location /assets/ {
proxy_pass $frontend$request_uri;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache zone1;
proxy_cache_valid 200 302 10m;
proxy_cache_lock on;
add_header X-Proxy-Cache $upstream_cache_status;
access_log off;
}
...
}
...
}
Наш URI для активов выглядит так /assets/1.0.0/(.css|.js|.png|etc..)
. Мы обновляем версию в URI во время сборки, поэтому она часто меняется, что, как я предполагаю, должно сделать недействительным proxy_cache_key
и NGINX должен вернуться вверх по течению, чтобы получить новый активы. Но этого никогда не бывает. У меня просто осталась моя html-страница без стиля.
Как только я очищаю кешированные файлы вручную и выдаю nginx -s reload
снова все в порядке. Я что-то упускаю? Большое спасибо!