Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Проблема с X-Accel-Redirect на nginx с php-fpm
- To: nginx-ru@xxxxxxxxx
- Subject: Проблема с X-Accel-Redirect на nginx с php-fpm
- From: Антон Редозубов <aredozubov@xxxxxxxxx>
- Date: Mon, 28 Jun 2010 13:17:44 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type:content-transfer-encoding; bh=LSO4ANfI1IBwXdxRgA2sJxf93B51clvhogUnDGfUAiI=; b=tEsgGUQxOSDniRwTf5pXEWE8UAayGNRZRvvvXjMC9kLhRiGszznPMxTRtZHT/fZHRa 0LHq/lKLo2WpYegvKHkPIPd5uvzS5j2UdCNXNZzZbG8sMmDhSi2On3oAPhVWvbqYJn2T c0qPbjZ2HY5DWFVbg2BEGZ1gRa6UfoqZWir10=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=KBYeaH2cIghpchlHcxe1nYutSTDgtsgcU/MKqtA1nvrlToZXLmwWHpLjH1n3sagZ3x zVCzV56Neeqak6JkXtsrpmyFJAFkcgQvs2J1dLHgafPv5b3+ExYxZnVvoklELFithuee 7/0kQ8wc1+U6J5xKF7+uiy4UGYfdzWoN2L7x0=
Други, подскажите.
Хочу отдавать файлы с докачкой (ну или в несколько потоков), но при
этом проверять в 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@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|