Спасибо, Максим, это многое проясняет. А то, что nginx судя по записи в error_log уже знает о передаче request line/headers, но соответствующее ожидание не происходит - это ок? Или до него просто не доходят данные, потому что не происходит PUTH, а о том, что сейчас должно приехать он догадывается эврестическим путем?
Вообще бывает такое - чтобы браузер послал половину заголовков, сделал PUSH и начал отправлять следующую половину? Пытаюсь представить себе ситуацию когда client_headers_timeout будет отрабатывать.