Запостил баг: http://trac.nginx.org/nginx/ticket/265
Когда исправят этот баг не известно, потому прошу помощи у специалиста - кто сможет перекомпилить Nginx под винду? Либо же подскажите адрес где можно найти подробную инструкцию по сборке Nginx для Windows, я тогда сам исправлю таймаут и пересоберу nginx.
Описание бага:
Баг - невозможность старта и соответственно использования всех версий Nginx на Windows машинах при большом количестве SSL доменов в файле конфигурации.
Проверены версии 1.2.x и 1.3.x, на других версиях думаю то же самое.
Проверены конфигурации SSL - дефолтная из документации, своя и еще куча всяких возможных. SSL key были использованы обычные без пароля, полностью корректные и рабочие (при малом количестве доменов). Конфигурация SSL не имеет значения, мощность Windows сервера так же не имеет значения - проблема везде идентична и упирается в таймаут. Важен сам факт использования SSL (ssl on) и количество доменов.
При использовании SSL и кол-ве доменов больше ~1300 сервер Nginx не запускается с ошибкой: the event "ngx_master_xxx" was not signaled for 5s
Без использования SSL в конфиге сервер стартует даже с 10 тыс. доменов и проблема не наблюдается.
Проблема заключается скорее всего тут (жёстко прописан таймаут): http://trac.nginx.org/nginx/browser/nginx/trunk/src/os/win32/ngx_process.c
Строка 87: rc = WaitForMultipleObjects(2, events, 0, 5000);
и потом строки
146 case WAIT_TIMEOUT:case WAIT_TIMEOUT:
147 ngx_log_error(NGX_LOG_ALERT, cycle->log, 0,
148 "the event \"%s\" was not signaled for 5s",
149 ngx_master_process_event_name);
Просьба исправить этот критический баг. Сервер просто невозможно использовать. Таймаут должен быть настраиваемым, либо сделайте его очень большим. Либо исправьте SSL, чтобы он не тормозил запуск.
P.S. О баге сообщаю впервые, прошу простить если написано сумбурно.