Назад | Перейти на главную страницу

add_header 'Cache-Control' работает только без контекста местоположения

Я установил nginx / 1.10.3 (Ubuntu) и изменил исходный файл конфигурации, чтобы он немного отличался в верхней части контекста http:

http {
    add_header 'Cache-Control' 'no-cache';

и это работает. Я увижу «no-cache» в заголовках ответов при обращении к index.html (проверено с / и /index.html). И я могу добавить больше атрибутов, таких как «no-store», они тоже будут работать, здесь они действительно работают.

Но я хотел бы ограничить отсутствие кеширования только index.html, и я не могу заставить его работать.

http {
    server {
        location = /index.html {
            add_header 'Cache-Control' 'no-cache';
        }
    }

не работает, в заголовках ответов не отображается сообщение «no-cache» (проверено с помощью / и /index.html). Также не работают location / { ..., и location ~ и location ~* с регулярным выражением.

Я здесь потерялся. Я переустановлю nginx и проверю, нет ли опечатки. Правильно ли я это делаю?

Изменить: я очистил и переустановил nginx, снова сделал то же самое, получил тот же результат.

Я поместил строки в /etc/nginx/sites-available/default теперь и это работает. Раньше я делал контекст местоположения в /etc/nginx/nginx.conf и это кажется неправильным.