Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Теперь нельзя выставлять тип контента!
- To: nginx-ru@xxxxxxxxx
- Subject: Теперь нельзя выставлять тип контента!
- From: "nickolay" <nginx-forum@xxxxxxxx>
- Date: Sat, 21 Sep 2013 13:40:04 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=twOxVUFbmWDK4eCMvqCXUgRs8vgs/saP8M4S2I70sFc=; b=ANvZ1MzoCzu5aDfxHct+jeBqsRAWAZEcFU76NuE57itHYK46Y+fTZzAg4Vy4FwbGF+UGBH/2f8tNVgSzBWiwJQR/XhdugjxPnfbdP8XcEM1KlzT3VhbTbrzdITYh8BzyID5aSxmfoUWbT9FLyRLWe1eg3GNbW+W8cEzRcb1e7V0=;
Здравствуйте,
Обновили 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|