cgi_pass
Директива `cgi_pass` в NGINX передаёт запросы CGI-скрипту для обработки.
Описание
Директива 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-скрипты должны быть оптимизированы для повышения производительности, чтобы избежать высокой задержки при обработке запросов.