Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
nginx, X-Accel-Redirect
 
Приветствую уважаемые коллеги!
Нужна помощь.
Есть связка apache (directadmin) + nginx-1.0.0.
Раздаются статические файлы через X-Accel-Redirect.

Так вот при переходе по адресу http://xxx.com/down.php, файл качается.. а вот если при активной закачке попробовать скачать файл еще раз, то Chrome подвисает в ожидании завершения активной закачки. Остальные браузеры ведут себя вроде нормально.

Ума не приложу почему так происходит, уже все перепробовал.
Я похоже что-то наковырял, так как раньше все работало нормально, стояли лимиты limit_rate и limit_conn, в случае превышения limit_conn, 503 ошибка отлавливалась и юзер перенаправлялся на нужную страницу. Сейчас же... После того как я что-то накрутил вобще какие то странности пошли. Лимитов не стоит никаких. И Chrome не хочет одновременно качать один файл, ожидая когда второй файл докачается.

Люди добрые, помогите выпрямить мне руки.

nginx.conf:
Код
worker_processes  3;
pid logs/nginx.pid;

events 
{
    worker_connections  1024;
}

http 
{
    access_log off;
    error_log off;

    include    mime.types;
    default_type    application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent"';

    # Кофиг для сайтов, кроме того где идет раздача файлов
    server 
    {
        access_log off;
        error_log off;

        listen xxx.xxx.212.106:80;
        server_name *.*;

        location / 
        {
            proxy_pass http://xxx.xxx.212.106:8181/;
            proxy_redirect    off;

            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    # Кофиг для сайта где осуществляется раздача
    server
    {
        access_log off;
        error_log off;

        listen xxx.xxx.212.106:80;
        server_name xxx.com;

        location /
        {
            proxy_pass http://xxx.xxx.212.106:8181/;
            proxy_redirect off;

            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /data {
                root /usr/home/admin/domains/xxx.com/public_html;
                internal;
            }
    }
}


down.php
Код
<?
header("Content-Disposition: attachment; filename=test.pdf");
header("X-Accel-Redirect: /data/storage/1/test.pdf");
?>


Файл test.pdf лежит в директории
Код
/usr/home/admin/domains/xxx.com/public_html/data/storage/1/test.pdf


Очень надеюсь на вашу помощь.
 
Вобщем проблема в apache, так как при запросе
http://xxx.com:8181/data/storage/1/test.pdf

точно такое же поведение.. если этот файл качается, то при попытке запустить вторую закачку этого файла хром подвисает.... кто что думает по этому поводу? Что я не так наковырял?
 
Вобщем, у меня осталась только одна мысль.. что это баг Хрома...

незнаю конечно по адресу я и вовремя ли.. но всетаки спрошу.. просто уже ума не приложу что делать... ситуация такая.. запускаю Хром, перехожу оп прямой ссылке на статический файл... Файл начинает закачиваться... Не дожидаясь конца загрузки файла перехожу еще раз по этой ссылке... И все.. Браузер подвисает в ожидании конца первой закачки... или же через несколько минут простоя стартует вторую закачку... Данная ситуация была замечена если пробовать друг за другом ставить на закачку один и тот же файл.. не важно на каком сервере эти файлы и кто провайдер... Я в замешательстве.. В чем может быть дело?

К тому же при довнлоаде браузер некорректно считает время до конца загрузки.. вместо него пишет NaN min/sec/..

Или я сошел сума? оО
Изменено: Evildevel - 12.05.2011 23:32:22
 
а чего вы привязались к хрому? возьмите curl и посмотрите что происходит.
Страницы: 1
Читают тему