Что такое заголовки Nginx и самые нужные
HTTP-заголовки — это метаданные, которые сервер и клиент обмениваются вместе с запросами и ответами.
В Nginx заголовки можно добавлять, изменять или удалять с помощью директивы:
add_header <имя> <значение> [always];
Самые важные заголовки Nginx
1. Content-Security-Policy (CSP)
Ограничивает источники загрузки ресурсов (JS, CSS, картинки). Пример:
add_header Content-Security-Policy "default-src 'self';";
2. X-Frame-Options
Защита от clickjacking — запрет встраивания сайта в iframe.
add_header X-Frame-Options "SAMEORIGIN";
3. X-Content-Type-Options
Запрещает браузеру угадывать MIME-тип.
add_header X-Content-Type-Options "nosniff";
4. Strict-Transport-Security (HSTS)
Принудительное использование HTTPS.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
5. Referrer-Policy
Контролирует, какие реферы передаются на сторонние сайты.
add_header Referrer-Policy "no-referrer-when-downgrade";
6. Cache-Control
Управляет кэшированием браузера и прокси.
add_header Cache-Control "public, max-age=3600";
7. Access-Control-Allow-Origin (CORS)
Разрешает доступ из других доменов.
add_header Access-Control-Allow-Origin "*";
Где использовать
- Безопасность → CSP, X-Frame-Options, X-Content-Type-Options, HSTS.
- Производительность → Cache-Control.
- Интеграции → CORS-заголовки.
Заключение
Заголовки Nginx — мощный инструмент для защиты и оптимизации веб-приложений. Минимальный набор для продакшена:
- X-Frame-Options
- X-Content-Type-Options
- Strict-Transport-Security
- Content-Security-Policy