Re: Nginx не пропускает от proxy длинный Content-Disposition

ErmakovIE nginx-forum на forum.nginx.org
Чт Фев 25 16:16:38 UTC 2016


Здравствуйте!

Прошу прощения за недостаточно точный вопрос. Ожидал, что просто уперся в
какую-то настройку.

Версия 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"

Стоит всего лишь несколько укоротить приведённый выше заголовок, как
начинает проходить нормально.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264758,264835#msg-264835



Подробная информация о списке рассылки nginx-ru