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