ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Проблемы с nginx в режиме proxy_ pass с amazon и chrome/chromium


  • To: nginx-ru@xxxxxxxxx
  • Subject: Проблемы с nginx в режиме proxy_ pass с amazon и chrome/chromium
  • From: Konstantin Pavlov <thresh@xxxxxxxxxxxx>
  • Date: Mon, 12 Dec 2011 15:41:58 +0400

Добрый день.

Есть некоторые проблемы с 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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.