cgi_pass

Директива `cgi_pass` в NGINX передаёт запросы CGI-скрипту для обработки.

Синтаксисcgi_pass path;
По умолчаниюnone
Контекстserver, location
Аргументы1+

Описание

Директива cgi_pass является частью модуля поддержки CGI в NGINX и позволяет обрабатывать запросы веб-сервера внешней CGI-программой. Эта директива может использоваться внутри контекстов server или location для определения скрипта или пути к программе, которая будет обрабатывать конкретные request URIs. Когда запрос совпадает с location, где определён cgi_pass, NGINX подготавливает параметры запроса и запускает CGI-скрипт. Переменные окружения и заголовки запроса передаются скрипту, который может генерировать динамический контент или выполнять определённые операции в ответ на запрос клиента.

Директива cgi_pass принимает один или несколько аргументов, которые обычно представляют путь к скрипту или URI, подлежащие обработке. Эта возможность особенно полезна в сценариях, когда существующие CGI-скрипты интегрируются в рабочий процесс NGINX. Она поддерживает настраиваемость в отношении рабочего каталога, используемого интерпретатора и опций по обработке тел запросов. Поведение процесса CGI контролируется различными параметрами конфигурации, включая установку таймаутов, управление выводом stderr и определение пользовательских переменных расширений, передаваемых скрипту.

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

location /cgi-bin/ {
    cgi_pass /path/to/cgi-bin/script.sh;
}

Убедитесь, что CGI-скрипт исполняем и правильно настроен.

Некорректные пути к файлам могут привести к ошибкам 404 или нарушению функциональности.

CGI-скрипты должны быть оптимизированы для повышения производительности, чтобы избежать высокой задержки при обработке запросов.

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