Иногда вам может понадобиться удалить заголовок ETag из ответа сервера вашего сайта. В этой статье мы рассмотрим, как отключить ETag в NGINX.
Что такое ETag?
ETag - это заголовок ответа сервера, который позволяет браузерам эффективно выполнять проверку кэша и делать условные запросы. Однако он представляет собой риск для безопасности в случае утечки в ваш код, что может привести к атаке отравления кэша на ваш сайт.
Как отключить ETag в NGINX
Отключить ETag в NGINX очень просто. Нужно просто установить серверную переменную etag в положение on/off, чтобы включить/выключить ETag в NGINX.
Откройте конфигурацию NGINX
Откройте терминал и выполните следующую команду, чтобы открыть файл конфигурации NGINX.
1 | sudo nano /etc/nginx/nginx.conf |
Если вы настроили отдельные виртуальные хосты для вашего сайта (например, www.example.com), например /etc/nginx/sites-enabled/example.conf, то откройте его конфигурацию следующей командой
1 | sudo nano /etc/nginx/sites-enabled/example.conf |
Отключение заголовка ETag
Добавьте "etag off" в блоки http, server или location, чтобы отключить ETag для всех сайтов на вашем сервере, определенного сайта, определенного URL-адреса соответственно.
Добавление etag off в блок http отключит ETag для всех серверов, работающих на вашем сервере NGINX.
1 2 3 4 5 | http { ... etag off; ... } |
Добавление etag off к блоку сервера отключит ETag только для этого сервера. Например, следующая конфигурация отключит ETag только для сервера, на котором расположен домен example.com
1 2 3 4 5 6 | server { listen 80; server_name example.com; etag off; ... } |
Добавление etag off к блоку location отключит ETag только для этого location. Например, следующая конфигурация отключит ETag только для местоположения /product
1 2 3 4 5 | location /product { ... etag off; ... } |
Перезапустите сервер NGINX
Наконец, выполните следующую команду, чтобы проверить синтаксис обновленного файла конфигурации.
1 | sudo nginx -t |
Если ошибок нет, выполните следующую команду для перезапуска сервера NGINX.
1 | sudo service nginx reload |
1 | sudo systemctl restart nginx |
Заключение
Используйте сторонний инструмент, чтобы проверить, содержит ли ваш ответ сервера заголовок ETag.