[passenger + apache + ruby] Ошибка файла HTTP PUT с кодировщиком передачи: заголовок chunked при отключенной загрузке passengerbufferupload

envirment:

 passenger 5.0.0
 apache:2.4.6
 passengerbufferupload off

Ошибка:

когда положить файл с помощью Transfer-Encoder: порция по запросу http, не может получить содержимое файла от Apache.

Журнал ошибок apache: Приложение 22178 stderr: [ 2018-06-13 10:17:35.9345 22203/0x0055710edcfa58(работник 1) request_handler/thread_handler.rb:219 ]: *** Предупреждение Passenger RequestHandler: размер заголовка HTTP превышен максимально.

расследовать

Я подтвердил заголовок трансфер-энкодера в пассажире по журналу печати. заголовок кодировщика передачи HTTP_TRANSFER_ENCODING:CHUNKED.

Я подтвердил источник пассажира тоже. В источнике при получении заголовка Transfer-Encoder он использовал "TRANSFER_ENCODING". поэтому не могу получить заголовок Transfer-Encoder.

источник:

phusion_passenger/utils/tee_input.rb
     class TeeInput
                   CONTENT_LENGTH = "CONTENT_LENGTH".freeze
                   TRANSFER_ENCODING = "TRANSFER_ENCODING".freeze
 phusion_passenger/request_handler/thread_handler.rb
                   TRANSFER_ENCODING = 'TRANSFER_ENCODING'.freeze

Я также подтвердил историю коммитов источника. с версии 4.0.60 до 5.0.0 измените вышеуказанные источники.(из TRANSFER_ENCODING = "HTTP_TRANSFER_ENCODING".freeze в TRANSFER_ENCODING = "TRANSFER_ENCODING".freeze)

commit log:
https://github.com/phusion/passenger/commit/0766bb303ad8009c6061206f3aafe231c4f1c3ff  ⇒tee_input.rb
https://github.com/phusion/passenger/commit/eee48f95fd9db0fb5b24458f9fb0b84a25acc6ae  ⇒thread_handler.rb

вопрос:

1. Я хочу знать причину изменения.

2. это проблема или нет?

1 ответ

Пассажирский автор здесь. Это было подтверждено как ошибка Пассажира. Пожалуйста, смотрите https://github.com/phusion/passenger/issues/2102.

Другие вопросы по тегам