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