Re: Проблема с X-Accel-Redirect на nginx с php-fpm

Oleksandr V. Typlyns'kyi wangsamp на gmail.com
Пн Июн 28 15:02:59 MSD 2010


Today Jun 28, 2010 at 13:17 Антон Редозубов wrote:

> Внутри php обрабатываю свои проверки, а потом обрабатываю заголовок
> Range. И на основе всего этого выдаю заголовки nginx.
> В итоге, через браузер качается, через curl качается. А через wget - нет.

> А вот выдача wget -d
> ---request begin---
> GET /d/very_long_string HTTP/1.0
> User-Agent: Wget/1.11.4
> Accept: */*
> Host: dl02.redic
> Connection: Keep-Alive

> ---response begin---
> HTTP/1.1 200 OK
> Server: nginx
> Date: Mon, 28 Jun 2010 08:19:30 GMT
> Content-Type: text/html
> Connection: close
> X-Powered-By: PHP/5.3.1

> Но если wget'ом докачать (-c) статический файл, то все работает.
> ---request begin---
> GET /1.mpg HTTP/1.0
> Range: bytes=6591408-
> User-Agent: Wget/1.11.4
> Accept: */*
> Host: dl02.redic
> Connection: Keep-Alive

> В чем может быть проблема?
  
  Если я правильно понял вопрос, то Вас смущает ответ text/html и отсутствие X-Accel-Redirect в этом случае.
  Без -c wget не посылал в запросе Range - посмотрите как ведёт себя php-код в этом случае.
  Скорее всего в ответ попадает часть тела(пробел, пустая строка, выдача ошибки при display_errors=On) до header().
  Устраните это и всё должно работать, а ob_start() и ob_flush() помогут обойти случайную выдачу тела до заголовков в будущем.

-- 
WNGS-RIPE



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