Модуль Apache mod_cgid
| Описание: | Выполнение CGI-скриптов с использованием внешнего CGI-демона |
|---|---|
| Статус: | Базовый |
| Идентификатор модуля: | cgid_module |
| Файл источника: | mod_cgid.c |
| Совместимость: | Только многопоточные MPM под Unix |
Обзор
За исключением оптимизаций и дополнительной директивы ScriptSock, mod_cgid ведет себя аналогично mod_cgi. Дополнительные сведения об Apache и CGI см. в mod_cgi обзоре.
В некоторых операционных системах Unix создание процесса из многопоточного сервера является очень дорогостоящей операцией, поскольку новый процесс будет дублировать все потоки родительского процесса. Чтобы избежать этих затрат при каждом вызове CGI, mod_cgid создает внешний демон, ответственный за создание дочерних процессов для запуска CGI-скриптов. Основной сервер взаимодействует с этим демоном с помощью сокета Unix-доменного пространства.
Этот модуль используется по умолчанию вместо mod_cgi, когда во время процесса компиляции выбирается многопоточная система MPM. На уровне пользователя этот модуль идентичен по конфигурации и работе mod_cgi. Единственное исключение — дополнительная директива ScriptSock, которая указывает имя сокета для взаимодействия с CGI-демоном.
Директива CGIDScriptTimeout
| Описание: | Время ожидания дополнительного вывода от CGI-программы |
|---|---|
| Синтаксис: | CGIDScriptTimeout time[s|ms] |
| Значение по умолчанию: | value of Timeout directive when unset or set to 0 |
| Контекст: | конфигурация сервера, виртуальный хост, директория, .htaccess |
| Статус: | Базовый |
| Модуль: | mod_cgid |
| Совместимость: | Доступен в httpd 2.4.10 и более поздних версиях; в более ранних выпусках таймаут не применялся |
Данная директива ограничивает время ожидания дополнительного вывода от CGI-программы. Если это время истечёт, запрос и CGI будут завершены.
Пример
CGIDScriptTimeout 20
Директива ScriptSock
| Описание: | Префикс имени файла сокета для взаимодействия с CGI-демоном |
|---|---|
| Синтаксис: | ScriptSock file-path |
| Значение по умолчанию: | ScriptSock cgisock |
| Контекст: | конфигурация сервера |
| Статус: | Базовый |
| Модуль: | mod_cgid |
Данная директива устанавливает префикс имени файла сокета для взаимодействия с CGI-демоном, к которому будет добавлен расширение, соответствующее идентификатору процесса сервера. Сокет будет открыт с правами пользователя, запускающего Apache (обычно root). Для обеспечения безопасности взаимодействия со скриптами CGI важно, чтобы ни у какого другого пользователя не было прав на запись в директорию, где расположен сокет.
Если file-path не является абсолютным путем, указанное расположение будет относительным к значению DefaultRuntimeDir.
Пример
ScriptSock /var/run/cgid.sock
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_cgid.html