recv() errors on Solaris 5.11

Гущин Иван konara на yandex.ru
Ср Фев 3 15:42:43 MSK 2010


Здравствуйте,
я написал модуль для nginX, который выполняет задачу проксирования запроса. За основу взял ngx_http_proxy модуль, в котором модифицировал create_request часть и process_status_line.
Модификация create_request нужна была для формирования строки запроса, которая передаётся в локальный сокет, а process_status_line изменена для добавления нескольких строк в заголовок ответа из сокета.
Локальный сокет выбирается с помощью существующего upstream модуля.

Перед этим задача решалась следующим образом:
запрос на nginx -> apache. apache вызывает cgi скрипт, который выбирает один из сокетов локальный, формирует запрос в сокет и отправляет ответ обратно, т.е. socket->cgi->apache->nginx->client.

Утверждается, что в конфигурации с апачем не было ошибок вида

upstream recv() resource temporary unavailable
recv() connection reset by peer
connect() error

и что-то ещё похожее.

Могли бы вы подсказать в какую сторону смотреть, какие могут причины подобного и как это преодолевать?
Всё это крутится на Solaris 5.11 версия nginx - 0.8.32

Спасибо за помощь,
Иван



Подробная информация о списке рассылки nginx-ru