Re: Nginx не пропускает от proxy длинный Content-Disposition
Валентин Бартенев
vbart на nginx.com
Чт Фев 25 17:04:29 UTC 2016
On Thursday 25 February 2016 11:16:38 ErmakovIE wrote:
> Здравствуйте!
>
> Прошу прощения за недостаточно точный вопрос. Ожидал, что просто уперся в
> какую-то настройку.
>
> Версия 1.8.0, Linux (Ubuntu).
>
> Конфиг:
> location /_download {
> alias /var/fnc_storage;
> internal;
> }
>
> location / {
> proxy_redirect off;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header Host localhost:8088;
> proxy_set_header X-Forwarded-For $remote_addr;
> proxy_pass http://localhost:8088;
> }
>
> Приложение генерирует заголовки:
>
> X-Accel-Redirect: /_download/12345
>
> Content-Disposition: attachment;
> filename="Odrin_Metod_morfologicheskogo_analiza_texnicheskix_sistem_k.doc";
> filename*=UTF-8''%D0%9E%D0%B4%D1%80%D0%B8%D0%BD_%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%20%D0%BC%D0%BE%D1%80%D1%84%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%20%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_k.doc
>
> (в соответствии с RFC5987).
>
> Когда имя файла небольшое - и в кодированном виде длина заголовка меньше
> примерно 256 (если не ошибся, то почему-то граница 258, а не 256), то всё
> проходит верно - Nginx отдаёт файл по пути _download и пропускает заголовок
> Content-Disposition, сформированный приложением.
>
> Но вот для приведенного примера заголовка, когда имя файла длинное,
> Nginx вместо Content-Disposition, полученного от приложения, отдает
> Content-Disposition: "/_download/39"
>
> Стоит всего лишь несколько укоротить приведённый выше заголовок, как
> начинает проходить нормально.
>
Сомневаюсь что это делает nginx. Debug-лог бы в данном случае прояснил ситуацию.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru