scgi_param
Директива `scgi_param` задаёт параметры SCGI для запросов к SCGI-серверам. — NGINX HTTP Core
Описание
Директива `scgi_param` используется в NGINX для определения параметров, которые будут переданы SCGI (Simple Common Gateway Interface) приложениям при выполнении прокси-запросов. Она позволяет передавать переменные и значения, которые SCGI-сервер может использовать при обработке запроса. Эта директива может принимать от двух до трёх аргументов: имя параметра, значение параметра и, опционально, флаг, указывающий, следует ли удалять параметр из заголовка запроса, если его значение пустое. При использовании `scgi_param` можно задавать пользовательские параметры, соответствующие требованиям SCGI-приложений, которые вы проксируете. Параметры отправляются как часть SCGI-запроса, позволяя бэкенд-приложению динамически реагировать на основе этих значений. Поэтому важно убедиться, что имена параметров соответствуют ожидаемым SCGI-приложением, чтобы избежать проблем при обработке запроса. Часто упускают из виду, что если значение параметра — пустая строка, оно не будет отправлено, если не указан опциональный третий аргумент со значением 'on', который инструктирует NGINX включать пустые параметры в запрос. Эта возможность может быть критически важна при отладке или для обеспечения корректной работы принимающего SCGI-приложения даже когда некоторые параметры не предоставлены или пусты.
Пример конфига
location /example {
scgi_pass 127.0.0.1:9000;
scgi_param SCRIPT_NAME /example;
scgi_param QUERY_STRING $query_string;
scgi_param REQUEST_METHOD $request_method;
}Убедитесь, что имена параметров совпадают с теми, которые ожидает SCGI-приложение.
Пустые параметры не будут отправлены, если явно не указано опцией 'empty'.
Значения параметров должны быть URL-encoded, если они содержат символы, требующие кодирования.