Модуль Apache mod_proxy_fdpass
| Описание: | Модуль поддержки внешних процессов fdpass для mod_proxy
|
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | proxy_fdpass_module |
| Исходный файл: | mod_proxy_fdpass.c |
| Совместимость: | Доступен для Unix в версии 2.3 и более поздних |
Краткое описание
Для работы этого модуля требуется служба mod_proxy. Он обеспечивает передачу сокета клиента другому процессу.
mod_proxy_fdpass использует возможность доменных сокетов AF_UNIX передавать открытый файловый дескриптор, чтобы другой процесс мог завершить обработку запроса.
Модуль предоставляет интерфейс провайдера proxy_fdpass_flusher, который позволяет другому модулю при необходимости отправлять заголовки ответа или даже начало тела ответа. Провайдер flush по умолчанию отключает keep-alive и отправляет заголовки ответа, позволяя внешнему процессу отправить только тело ответа.
Чтобы использовать другого провайдера, необходимо задать параметр flusher в директиве ProxyPass.
В настоящее время внешнему процессу передаются только данные сокета клиента. Чтобы получить сокет клиента, вызовите recvfrom с выделенным struct cmsghdr. В будущих версиях этого модуля после сокета клиента могут передаваться дополнительные данные, но пока эта возможность не реализована.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_fdpass.html