Пишется свой модуль, который в обработичке директивы открывает свой сокет и
отправляет туда данные.
Нужно ответить на HTTP запрос на основании полученных данных в сокете.
Какой механизм предусмотрен в nginx?
Отправлять получается без проблем. А как получить ответ?
Пробовали ставить обработчик на connection->read.
Действительно, там мы можем получить ответ. Но вызов этого обработчика
происходит уже после обработки директивы.
А нужно дать ответ на HTTP запрос в обработчике директивы.
Как это лучше сделать?
Я не понял, что означает "вызов этого обработчика происходит уже после
обработки директивы". Насколько я понял, имеется в виду обработка
директивы подобно обработке empty_gif. Если обработка запроса
происходит длительное время, то такой обработчик должен вернуть NGX_DONE.
В этом случае nginx сам не закроет соединение. А после того, как ответ
отдан клиенту, нужно вызвать ngx_http_finalize_request(r, КОД).
Игорь Сысоев
http://sysoev.ru