scgi_ignore_headers

Директива `scgi_ignore_headers` позволяет указать, какие заголовки от SCGI сервера следует игнорировать в ответе клиенту.

Синтаксисscgi_ignore_headers header_name [header_name ...];
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива scgi_ignore_headers используется в конфигурации NGINX для управления тем, как обрабатываются определённые заголовки ответа, предоставленные SCGI сервером. По умолчанию NGINX передаёт все заголовки из ответа SCGI клиенту, что иногда может привести к непреднамеренному раскрытию заголовков или конфликтам. Эта директива позволяет указать список заголовков, которые должны быть проигнорированы, что обеспечивает более чистую и контролируемую коммуникацию между сервером NGINX и клиентом.

Директива принимает одно или несколько имён заголовков в качестве аргументов. Каждый указанный заголовок будет опущен в ответе, отправляемом клиенту при проксировании через NGINX. Это особенно полезно в ситуациях, когда определённые заголовки считаются ненужными или могут потенциально привести к утечке конфиденциальной информации. Имена заголовков вводятся независимо от регистра, а несколько заголовков можно перечислить, разделяя их пробелами.

Использование директивы scgi_ignore_headers может повысить безопасность и производительность ваших приложений, гарантируя, что клиенту видны только релевантные заголовки. Однако необходимо избегать игнорирования заголовков, критичных для клиента, таких как Content-Type, или пользовательских заголовков, которые могут быть необходимы для клиентской обработки.

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

location /app {
    scgi_pass 127.0.0.1:9000;
    scgi_ignore_headers X-Powered-By X-Server;
}

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

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

Игнорирование критических заголовков может привести к потере важных метаданных в ответах.

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