Использование сокетов в handler или filter модулях

Valery Kholodkov valery at grid.net.ru
Mon Jun 4 17:24:14 MSD 2007


Здравствуйте!

> Есть ли уже готовые функции для
> обращений на удаленные сервера через
> сокеты,
> в контексте handler или filter модуля?

Есть -- это ngx_http_subrequest в ngx_http_core_module.h.

> Я прошелся дебаггером по nginx -
> используются неблокирующие сокеты,
> поэтому нужен специфический механизм
> получения данных после запроса,
> но явных функций для этого пока в
> исходниках не нашел.

Посмотрите как в ngx_http_ssi_filter_module.c
происходит обработка контента в
неблокирующем режиме, в особенности
функции ngx_http_ssi_stub_output и ngx_http_ssi_set_variable.

> Зачем это нужно - например добавить в
> ngx_http_ssi_filter_module,
> возможность вставки страниц через
> удаленный вызов:
>
> <!--# include virtual="http://host.com" -->
>
> или получить XML от веб-сервиса.

Насколько я понимаю, это уже
реализовано, см.
http://sysoev.ru/nginx/docs/http/ngx_http_ssi_module.html.
Поправьте меня, если я неправ.

> Насчет интегрирования upstream в handler или
> filter модули тоже неясно.

Это должно помочь следующее
http://www.riceonfire.org/emiller/nginx-modules-guide.html

-- 
Best regards,
Valery Kholodkov






More information about the nginx-ru mailing list