Теперь нельзя выставлять тип контента!
nickolay
nginx-forum at nginx.us
Sat Sep 21 17:40:04 UTC 2013
Здравствуйте,
Обновили nginx до версии 1.5.5 и perl-скрипты перестали отдавать файлы, в
лог выпадает следующее:
"header already sent while reading response header from upstream"
Нашёл, что всему виной вот этот коммит:
http://hg.nginx.org/nginx/rev/03ff14058272
Он проверяет, если заголовок уже отправлялся, то это ошибка.
Но как быть? Нам перед тем как сделать внутренний редирект обязательно нужно
установить MIME-тип, так как редирект будет на файл без расширения, и если
не установить явно тип контента, то nginx сам установит
application/octet-stream.
Устанавливаем из скрипта тип контента таким образом:
$r->send_http_header("$mime")
Если убрать эту строку, то всё работает, но отдаётся с
application/octet-stream.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243030,243030#msg-243030
Подробная информация о списке рассылки nginx-ru