Re: Проблемы с nginx в режиме proxy_pass с amazon и chrome/chromium
Алексей Сундуков
public-mail на alekciy.ru
Пн Дек 12 18:31:46 UTC 2011
"Не так" тут видимо google chrome. Не раз сталкивался с тем, что у
него виденее того что и как нужно кэшировать и то, что работает как
задумано в других браузерах не работает в хроме, причем даже
принудительная зачистка кэша не спасает.
Видится мне, что если проблема проявляется только в хроне и ни каких
других браузерах, то дело в хроме, а не nginx.
12 декабря 2011 г. 15:41 пользователь Konstantin Pavlov
<thresh at videolan.org> написал:
> Добрый день.
>
> Есть некоторые проблемы с google chrome / chromium и nginx при
> использовании nginx как кэширующего сервера для забирания bucket'ов с
> amazon.
>
> Примерно один из 10ти запросов на mp3-файл приводит к тому, что google
> chrome / chromium не воспроизводит этот mp3-файл. При запросах напрямую
> на amazon bucket проблема не проявляется.
>
> /etc/nginx/nginx.conf:
>
> worker_processes 30;
>
> events {
> worker_connections 1024;
> }
>
> http {
> client_max_body_size 1024m;
> proxy_connect_timeout 30s;
> proxy_read_timeout 60s;
> proxy_send_timeout 60s;
>
> proxy_cache_path /var/lib/nginx/tmp/proxy/cache/ keys_zone=cache:1024m max_size=30000m;
>
> merge_slashes off;
> ignore_invalid_headers off;
>
> proxy_temp_path /var/lib/nginx/tmp/proxy;
> fastcgi_temp_path /var/lib/nginx/tmp/fastcgi;
> client_body_temp_path /var/lib/nginx/tmp/client;
>
> include mime.types;
> default_type application/octet-stream;
>
> log_format main '$remote_addr - $remote_user [$time_local] '
> '"$request" $status $bytes_sent $sent_http_content_length '
> '"$http_user_agent" "$http_x_forwarded_for"';
>
> keepalive_timeout 0;
> sendfile off;
> gzip off;
>
> server {
>
> listen 80;
> server_name download-mp3.domain.tld;
>
> location = /favicon.ico {
> return 204;
> }
>
> location / {
>
> proxy_pass http://downloadtld-mp3.s3.amazonaws.com/;
> proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
> proxy_redirect off;
> proxy_cache cache;
> proxy_cache_valid 1d;
> expires 604800;
> proxy_hide_header X-Amz-Id-2;
> proxy_hide_header X-Amz-Request-Id;
> proxy_hide_header ETag;
> proxy_hide_header Last-Modified;
>
> }
>
> access_log /var/log/nginx/access.log main;
> error_log /var/log/nginx/error.log debug;
>
> }
>
> }
>
>
> При возникновении проблемы, в error.log трижды пишется "client closed
> prematurely connection while reading upstream".
> От файла не зависит, при вызове URL в строке браузера один раз может пройти
> ошибка, второй раз файл может закачаться и воспроизводиться нормально.
> Сслучается такое и на файлы, которые уже должны быть в кэше, т.е. когда иду по
> списку URL'ов заново, оно опять может проявиться на тех файлах, на которые уже
> были запросы.
>
> debug_connection по моему адресу выдаёт огромную тонну информации, разобраться
> что именно идёт не так не получается.
>
> Что может быть не так?
>
> --
> Konstantin Pavlov
> VideoLAN team
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru