DJWOMS1
@DJWOMS1
Веб-программист

Как полностью отключить кеш для js?

Здравствуйте, сайт стоит на сервере с nginx и он кеширует статику.
Т.е. я заливаю обновленный js-код, а сайт отдает старый. Если кеш в браузере чистить все равно такая беда.
Так же если физически удалить файл, он какое то время (день точно) раздается сервером.
Приходиться переименовывать файл для того что бы он сработал.
Как это исправить?
Вот настройки моего nginx
server {
    listen 80;
    server_name тут мой ип)));  
    keepalive_timeout 60;
    access_log  /var/log/nginx/base.log;

    location /static/ {
        root /home/jon/project;
        # expires off;
	add_header Cache-Control: "must-revalidate";
    }
    location /media/ {
        root /home/jon/project;
        expires 30d;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location ~* \.(gif|ico|jpe?g|png)(\?[0-9]+)?$ {
	# expires off;
        add_header Cache-Control: "must-revalidate";
    }
  }
  • Вопрос задан
  • 362 просмотра
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
По любому вы нам врете и у вас какой нибудь клаудфларе стоит
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@vshvydky
Используй уникальные имена файлов js например main.dhdudjdbdyej.js где каждый новый билд js файла имеет новый уникальный хеш
Ответ написан
Комментировать
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Кеш отключается директивой expires -1;
Ответ написан
Комментировать
@Roman_V_M
Как уже сказали, используйте уникальные имена файлов. Но руками ничего делать не нужно, всё уже придумано до нас: https://docs.djangoproject.com/en/2.0/ref/contrib/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы