Что такое заголовки 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