security_headers

Директива 'security_headers' включает автоматическое добавление набора стандартных HTTP-заголовков безопасности в ответах NGINX.

Синтаксисsecurity_headers on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива 'security_headers' принадлежит модулю NGINX, специально разработанному для отправки заголовков безопасности в HTTP-ответах. Когда эта директива установлена в 'on', она активирует предопределённый набор HTTP-заголовков безопасности, которые повышают защищённость веб-приложения. Эти заголовки включают 'X-Frame-Options', установленный в 'SAMEORIGIN', 'X-XSS-Protection', отключённый со значением '0', 'Referrer-Policy', установленный в 'strict-origin-when-cross-origin', и 'X-Content-Type-Options', установленный в 'nosniff'. Этот модуль работает путём проверки типов передаваемого контента и гарантирует, что корректные заголовки безопасности применяются только там, где это применимо, например к HTML-контенту, без отправки ненужных заголовков для других типов контента (таких как CSS или JS).

Одна из ключевых особенностей этой директивы — её соответствие современным веб-стандартам, особенно в части обработки заголовка 'Strict-Transport-Security' (HSTS), который включён в настройки по умолчанию этого модуля. Это означает, что если директива 'security_headers' включена, она обеспечивает корректное применение заголовка HSTS. Однако есть оговорка: если HSTS включён, поведение 'hsts_preload' может привести к попаданию сайта в preload-лист Chrome, что может быть нежелательно для сайтов, которым необходимо быть доступными по обычному HTTP в какой-то момент. Поэтому администраторам необходимо полностью понимать последствия использования этой директивы, особенно в отношении безопасности и доступности по HTTP для любых поддоменов.

Пример конфига

http {
    security_headers on;
    server {
        location / {
            # Additional configurations
        }
    }
}

Убедитесь, что все поддомены доступны по HTTPS перед включением HSTS, чтобы избежать нежелательных ситуаций, связанных с preload.

Использование этой директивы с несовместимыми конфигурациями может привести к непредвиденному поведению при применении заголовков безопасности.

Включайте только если вы уверены в необходимых политиках безопасности, так как некоторые заголовки при неправильной настройке могут нарушить работу приложения.

← Ко всем директивам