Скрипт обмена ini_set('max_execution_time', '300');
То, что ini_set срабатывает, я проверял на отдельных скриптах.
Также добавил в код компоненты обмена запись в протокол (bitrix:catalog.import.1c)
2.) Что вижу
В логе nginx вижу запись со статусом 504. Время, это важно, 28/May/2014:23:05:28 +0400. Ок, смотрю в протоколе (я там записываю и ответ сайта, который уходит в 1С) - 2014-05-28 23:08:55, Распаковка архива завершена. Т.е. скрипт реально закончил свою работу (да и в логе ошибок PHP ничего!). При этом скрипт закончил работу на три (!) минуты позже того, как его перестал ждать nginx.
Могут быть сомнения в том, что время не совпадает по криворукости отладки. Ан нет! Предыдущий запрос в моем логе и логе nginx совпадает с точностью до секунду (а точнее не пишется в лог).
3.) В чем проблема
А не знаю я как заставить nginx дождаться ответа. Не было ничего похожего в списке директив. Ясно только то, что установленных пяти минут для скрипта вполне достаточно. Так и nginx должен ждать ответа от Apache теже 5 минут ...