#angular #nginx
Вопрос:
У меня уже есть приложение Angular в производстве, но я добавляю новые функции, которые сделают старую версию устаревшей. Текущая версия, которую используют пользователи, имеет ручной способ обновления (через всплывающее окно), но я знаю, что некоторые пользователи просто не будут обновлять или обновлять страницу.
Мое приложение находится на сервере настройки Nginx со следующими настройками:
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
server {
listen 80;
server_name mysite.com www.mysite.com;
return 301 https://$server_name$request_uri;
}
server {
listen 8000;
server_name mysite.com www.mysite.com;
root /var/www/mysite-front/dist;
index index.html index.htm;
location / {
expires -1;
try_files $uri $uri/ /index.html;
}
location ~ .(html)$ {
expires -1;
add_header Pragma "no-cache";
add_header Cache-Control "no-store";
add_header strict-transport-security "max-age=31536000";
add_header X-Frame-Options "SAMEORIGIN";
try_files $uri $uri/ /index.html;
}
location ~ .(css|htc|less|js|js2|js3|js4)$ {
expires 31536000s;
add_header Pragma "public";
add_header Cache-Control "max-age=31536000, public";
try_files $uri $uri/ /index.html;
}
location ~ /.ht {
deny all;
}
# add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
}
Моя проблема в том, что независимо от того, загружаю ли я новую версию, пользователи, которые не обновляют или не обновляют, продолжают видеть старую версию. Даже если я удалю папку dist на сервисе, пользователи смогут продолжать использовать старую версию приложения.
Что я мог бы сделать, чтобы старые пользователи получали приложение прямо с сервера, а не полагались на любую кэшированную версию, которая у них есть?