Welcome! Log In Create A New Profile

Advanced

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

Антон Редозубов
June 28, 2010 05:18AM
Други, подскажите.
Хочу отдавать файлы с докачкой (ну или в несколько потоков), но при
этом проверять в php а может ли данный конкретный человек скачивать
файл.
Внутри php обрабатываю свои проверки, а потом обрабатываю заголовок
Range. И на основе всего этого выдаю заголовки nginx.
В итоге, через браузер качается, через curl качается. А через wget - нет.

Вот пример запроса через curl:
---request begin--
GET /d/very_long_string HTTP/1.1
Range: bytes=20-50
User-Agent: curl
Host: dl02.redic
Accept: */*

---request end---
Запрос HTTP послан, ожидание ответа...
---response begin---
HTTP/1.1 206 Partial Content
Server: nginx
Date: Mon, 28 Jun 2010 08:09:19 GMT
Content-Type: application/octet-stream
Content-Length: 31
Last-Modified: Thu, 24 Jun 2010 12:53:15 GMT
Connection: keep-alive
Content-Disposition: attachment; filename="244413696"
Content-Range: bytes 20-50/290491986

xxxmatroskaxxx
---response end---
То есть результат ожидаемый.

А вот выдача 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

---request end---
Запрос HTTP послан, ожидание ответа...
---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

---response end---

Но если 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

---request end---
Запрос HTTP послан, ожидание ответа...
---response begin---
HTTP/1.1 206 Partial Content
Server: nginx
Date: Mon, 28 Jun 2010 09:03:32 GMT
Content-Type: video/mpeg
Content-Length: 2563920
Last-Modified: Thu, 24 Jun 2010 09:54:21 GMT
Connection: keep-alive
Content-Range: bytes 6591408-9155327/9155328

---response end---

Вот заголовки, которые выдает php для nginx:
Accept-Ranges: bytes
Content-Range: bytes 20-50/290491986
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="244413696"
Content-Length: 31
X-Accel-Limit-Rate: 1024
X-Accel-Redirect: /store0801-03/244413696

В чем может быть проблема?

--
Антон
+7 (495) 7225946
http://redozubov.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

Антон Редозубов June 28, 2010 05:18AM

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

Oleksandr V. Typlyns'kyi June 28, 2010 07:04AM

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

Антон Редозубов June 28, 2010 08:04AM

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

Oleksandr V. Typlyns'kyi June 28, 2010 10:10AM

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

Антон Редозубов June 28, 2010 11:42AM

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

proforg June 28, 2010 08:45AM

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

Антон Редозубов June 28, 2010 09:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 129
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready