Продолжение эпопеи. Я тут провёл много часов с дебаггером, но так до конца и не понял, как бы сделать фейковый запрос. Пытался использовать http://github.com/srlindsay/nginx-independent-subrequest/commits/master, но он каким-то странным образом всё равно не хочет работать. Думаю, это из-за того, что реквест не становится posted, но из-за обилия коллбэков отловить не могу. А posted он не становится из-за фейкового connection, который не становится в очередь обработки.
Вообще нгинкс, как я понял, работает так: есть некий цикл, в котором исполняется обработчик событий. Событие - это входящее подключение. Подключение задаёт запрос, оборачивая его в апстрим. Этот апстрим проходит через обработчики всех модулей, подключённых для данного локейшена. Дальше запрос отправляется в приложение, если требуется. Когда приходит ответ от приложения, он складывается в специальный стек - posted_requests и обрабатывается в следующем витке цикла, или в этом, если успевает. В связи с этим - вопрос: насколько я прав?
И ещё. Не могу понять, где находится точка отсыла запроса в приложение? Этим занимается коллбэк самого запроса? Или для этого есть функция? Если бы можно было отправить данные в эту функцию - дело бы выгорело. Мне ведь нужно сделать запрос на локальное приложение. Мне, в принципе, не зачем заморачиваться с connection и upstream.