Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблемы с nginx в режиме pr oxy_pass с amazon и chrome/chromium
On Tue, Dec 13, 2011 at 10:22:16AM +0400, Sergey Budnevitch wrote:
>
> On 13.12.2011, at 9:57, Konstantin Pavlov wrote:
>
> > On Mon, Dec 12, 2011 at 10:31:46PM +0400, Алексей Сундуков wrote:
> >> "Не так" тут видимо google chrome. Не раз сталкивался с тем, что у
> >> него виденее того что и как нужно кэшировать и то, что работает как
> >> задумано в других браузерах не работает в хроме, причем даже
> >> принудительная зачистка кэша не спасает.
> >>
> >> Видится мне, что если проблема проявляется только в хроне и ни каких
> >> других браузерах, то дело в хроме, а не nginx.
> >
> > Безусловно.
> >
> > Это однако не отменяет наличия проблемы и необходимости её решить.
>
>
> В хроме с помощью developers tools -> network посмотрите получает ли он этот
> mp3-файл вообще, какого размера, сравните с тем, что должно быть.
Когда ошибка проявляется, chrome делает 4 запроса, ниже следует copy&paste из
developer tools/network:
1-ый запрос:
GET
http://yo-fm-mp3.yo.fm/fa04ec7c59e6bdf27e04f0a3db9bdf92?t=39532&p=2056&po=337002
HTTP/1.1
1-ый ответ:
HTTP/1.1 0 undefined
2-ой запрос:
GET
http://yo-fm-mp3.yo.fm/fa04ec7c59e6bdf27e04f0a3db9bdf92?t=39532&p=2056&po=337002
HTTP/1.1
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.5 Safari/535.2
Referer: http://yo.fm/
Range: bytes=0-
2-ой ответ:
HTTP/1.1 0 undefined
3-ий запрос:
GET /fa04ec7c59e6bdf27e04f0a3db9bdf92?t=39532&p=2056&po=337002 HTTP/1.1
Host: yo-fm-mp3.yo.fm
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.5 Safari/535.2
Accept: */*
Referer: http://yo.fm/
Accept-Language: ru-RU,en;q=0.8,en-US;q=0.6,ru;q=0.4
Accept-Charset: UTF-8,*;q=0.5
Cookie: __utma=223490707.1901084029.1319019904.1323693066.1323757632.12;
__utmb=223490707.3.10.1323757632; __utmc=223490707;
__utmz=223490707.1319019904.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
3-ий ответ:
HTTP/1.1 200 OK
Server: nginx/0.8.55
Date: Tue, 13 Dec 2011 06:44:47 GMT
Content-Type: audio/mpeg
Connection: close
Accept-Ranges: bytes
Content-Length: 21165453
Expires: Tue, 20 Dec 2011 06:44:47 GMT
Cache-Control: max-age=604800
4-ый запрос:
GET
http://yo-fm-mp3.yo.fm/fa04ec7c59e6bdf27e04f0a3db9bdf92?t=39532&p=2056&po=337002
HTTP/1.1
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.5 Safari/535.2
Referer: http://yo.fm/
Range: bytes=21165325-
4-ый ответ:
HTTP/1.1 0 undefined
При этом на первый запрос status в developer tools - "(pending)", на остальные
"(canceled)". При третьем запросе скачалось при этом ~34 KB из 21165453 байт.
(Content-length в третьем ответе правильный).
Далее случай когда mp3-шка скачивается нормально:
1-ый запрос:
GET
http://yo-fm-mp3.yo.fm/dcc27468ccd029c31943ad16da657c9e?t=37460&p=2056&po=337002
HTTP/1.1
1-ый ответ:
HTTP/1.1 0 undefined
2-ой запрос:
GET
http://yo-fm-mp3.yo.fm/dcc27468ccd029c31943ad16da657c9e?t=37460&p=2056&po=337002
HTTP/1.1
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.5 Safari/535.2
Referer: http://yo.fm/
Range: bytes=0-
2-ой ответ:
HTTP/1.1 0 undefined
3-ий запрос:
GET /dcc27468ccd029c31943ad16da657c9e?t=37460&p=2056&po=337002 HTTP/1.1
Host: yo-fm-mp3.yo.fm
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.5 Safari/535.2
Accept: */*
Referer: http://yo.fm/
Accept-Language: ru-RU,en;q=0.8,en-US;q=0.6,ru;q=0.4
Accept-Charset: UTF-8,*;q=0.5
Cookie: __utma=223490707.1901084029.1319019904.1323693066.1323757632.12;
__utmc=223490707;
__utmz=223490707.1319019904.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
3-ий ответ:
HTTP/1.1 200 OK
Server: nginx/0.8.55
Date: Tue, 13 Dec 2011 07:03:18 GMT
Content-Type: audio/mpeg
Connection: close
Accept-Ranges: bytes
Content-Length: 5950780
Expires: Tue, 20 Dec 2011 07:03:18 GMT
Cache-Control: max-age=604800
4-го запроса не следует.
Видно, что в 4-м запросе chromium запрашивает последние 128 байт mp3-файла,
видимо хочет прочитать мета-данные.
Я проверил, что chromium всегда корректно скачивает файлы, в которых есть
ID3v1-тэг, но не всегда корректно скачивает те, где этого тэга нет. Однако при
запросе напрямую с amazon S3 файлы всегда воспроизводятся корректно.
> aws content-length отдает?
Отдаёт.
> Если раздавать эти же файлы напрямую nginx'ом проблема воспроизводится?
Нет. Также проблема не воспроизводится, если запросы делать напрямую на amazon
s3.
--
Konstantin Pavlov
VideoLAN team
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|