Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Проблема с X-Accel-Redirect
- To: nginx-ru@xxxxxxxxx
- Subject: Проблема с X-Accel-Redirect
- From: Alex Solovey <a.solovey@xxxxxxxxx>
- Date: Sat, 12 Sep 2009 18:12:40 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=Y86KpMrjI/gp/TNqoJnfo5hFwKidvrCFdQA4jEBNQOI=; b=c+4xtMO3dL/6rP4zlZkIMmvpfweV8iMzdbLHFshuwlVy9orayrO+wF+fsOdqnaoCs1 WO0ovKz6Cc0QgFfM5hg10rMZmxBhPcUNeSuDgpO/qaeBwd0dJLoAr220dbbzGYoSIQ+x ozAO/W83zrM2IIxPRfvd/6Ko+UDm6zVTh7dW8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=nNdBMQswMCAK2/NcFWVJWyQYcbfbR1uTlHqzYCzJbDiIebTGJa3n7mDNuCKS82H+cJ +zzOSfOtNdq77e9sIyq/VL0hecEZZ6+gHx5VfPyzLlsIey6n0tqOYJdW5VCd+GU2lVdJ XxfroZeGsEIz5Kv/68mWkf5qZIn1al8rOyhLs=
Имеется следующая конфигурация:
- nginx 0.8.14 в качестве proxy-сервера
- сервер приложений apache+mod_perl
- Linux 2.6.28-15-generic (Ubuntu 9.04)
Сервер приложений для некоторых запросов отдает файлы посредством
X-Accel-Redirect. До первого такого запроса все работает нормально. Но
как только встретился первый X-Accel-Redirect, для последующих запросов
nginx вместо полученного от сервера приложений ответа отсылает случайным
образом любой из предыдущих ответов. Иногда вместо нормального ответа
приходит мусор, состоящий из склееных вместе нескольких предыдущих ответов.
Пример:
http://x.y.z/app/foo --> ok
http://x.y.z/app/bar --> ok
http://x.y.z/app/file --> ok (здесь используем X-Accel-Redirect)
http://x.y.z/app/bar --> отдает file
http://x.y.z/app/foo --> отдает file
http://x.y.z/app/bar --> отдает foo
http://x.y.z/app/file --> отдает мусор
... ждем время, достаточное для закрытия keep-alive ....
http://x.y.z/app/foo --> ok
http://x.y.z/app/bar --> ok
http://x.y.z/app/foo --> ok
http://x.y.z/app/file --> ok (здесь используем X-Accel-Redirect)
http://x.y.z/app/foo --> отдает мусор
Это продолжается до закрытия keep-alive соединения. После чего всё опять
работает нормально дл первого запроса с X-Accel-Redirect. Если
установить keepalive_timeout 0, то проблема не возникает.
Опытным путем удалось выяснить, что проблема появилась в nginx-0.8.11;
версии 0.7.61 и 0.8.10 работают нормально.
|