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