ПРОЕКТЫ 


  АРХИВ 


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]

Странности с версией 0.7.22



Nginx используется в качестве фронтенда, проксируя запросы на апач.
Для контроля работы хостинга пишется специальный лог

1228027904.663 600.217 86.110.187.156:4834 302
stat_uid=51B046AAF32A3249E0785131029B2603 -
cp.4game.ru/actions/createaccount/service/6.html
https://cp.4game.ru/services/details/service/6.html 172.29.8.17:80 0.232
302 30/Nov/2008:09:51:44 +0300 "Mozilla/5.0 (Windows; U; Windows NT 5.1;
ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"

1228028231.656 600.225 62.133.188.23:1748 302
stat_uid=51B046AA78293249E678C12F02B52A03 -
cp.4game.ru/actions/createaccount/service/6.html
https://cp.4game.ru/index/login.html 172.29.8.14:80 0.232 302
30/Nov/2008:09:57:11 +0300 "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru;
rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1"

формат лога

log_format  stat_log_format  '$msec $request_time $remote_addr:$remote_port
'$status $uid_got $uid_set $server_name$request_uri $http_referer '
'$upstream_addr $upstream_response_time $upstream_status $time_local
"$http_user_agent"';

Вопрос, что так долго делает nginx над ответом апача? Почти 600 секунд
думать... И запрос то ерундовый, код возврата 302.
Самому мне вызвать подобные "тормоза" не получается. Да и по выставленным
таймаутам 600 секунд нгинкс думать над запросом не имеет права.
Может это как-то связано с тем, что сайт https ?
Ранее (до перехода на 0.7.22) такого поведения не замечал (стоял 0.7.2).
Хотя возможно до этого соответствующей страницы не было

Вот полный конфиг

events {
        worker_connections  8192;
        use epoll;
}

http {
        include         /etc/nginx/mime.types;
        default_type    application/octet-stream;

        client_header_timeout   10m;
        client_body_timeout     10m;
        send_timeout            10m;
        client_max_body_size    10m;

        connection_pool_size            256;
        client_header_buffer_size       1k;
        large_client_header_buffers     4 2k;
        request_pool_size               4k;

        gzip on;
        gzip_min_length 1100;
        gzip_buffers    4 8k;
        gzip_types      text/plain;

        output_buffers  1 32k;
        postpone_output 1460;

        sendfile        on;
        tcp_nopush      on;
        tcp_nodelay     on;

        keepalive_timeout       75 20;

        ignore_invalid_headers  on;

        index index.html;

        proxy_read_timeout 65;
        proxy_send_timeout 11;
        proxy_connect_timeout 10;
        proxy_next_upstream error;

#       upstream  apache0  {
#           ip_hash;
#           server 172.29.8.4:80 fail_timeout=60s;
#           server 172.29.8.5:80 fail_timeout=60s;
#       }

        log_format  my_log_format  '$msec $request_time '
            '$remote_addr:$remote_port $connection $uid_got $uid_set '
            '$status $request_length $body_bytes_sent '
            '"$request" "$http_referer"';

        log_format  stat_log_format  '$msec $request_time
$remote_addr:$remote_port '
            '$status $uid_got $uid_set $server_name$request_uri $http_referer '
            '$upstream_addr $upstream_response_time $upstream_status
$time_local "$http_user_agent"';

        limit_zone one $binary_remote_addr 10m;
        limit_conn one 32;
        limit_zone too $server_name 1m;

        userid          on;
        userid_name     stat_uid;
        userid_domain   none;
        userid_path     /;
#       userid_expires  365d;

        include /etc/nginx/include/*;
}

И часть того, что лежит в папке /etc/nginx/include

upstream apache0 {
    ip_hash;
    server 172.29.8.4 max_fails=3 fail_timeout=60s ;
    server 172.29.8.5 max_fails=3 fail_timeout=60s ;
    server 172.29.8.14 max_fails=3 fail_timeout=60s ;
    server 172.29.8.14 max_fails=3 fail_timeout=60s ;
    server 172.29.8.15 max_fails=3 fail_timeout=60s ;
    server 172.29.8.15 max_fails=3 fail_timeout=60s ;
    server 172.29.8.2 max_fails=3 fail_timeout=60s ;
    server 172.29.8.3 max_fails=3 fail_timeout=60s ;
    server 172.29.8.16 max_fails=3 fail_timeout=60s ;
    server 172.29.8.16 max_fails=3 fail_timeout=60s ;
    server 172.29.8.17 max_fails=3 fail_timeout=60s ;
    server 172.29.8.17 max_fails=3 fail_timeout=60s ;
}
server {
    listen              81.176.70.170;
    server_name         cp.4game.ru ;
    proxy_next_upstream error timeout invalid_header http_500 http_503;
    rewrite   ^/(.*)   https://cp.4game.ru/$1 permanent;
}
server {
    listen              81.176.70.170:443 default;
          ssl                   on;
          ssl_certificate       /etc/nginx/ssl/cp.4game.ru.pem;
          ssl_certificate_key   /etc/nginx/ssl/cp.4game.ru.pem;
          ssl_session_timeout   5m;
          ssl_protocols         SSLv2 SSLv3 TLSv1;
          ssl_ciphers           
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
          ssl_prefer_server_ciphers   on;
    server_name         cp.4game.ru ;
    charset             UTF8;
    access_log          /var/log/nginx/cp.4game.ru-access_log combined;
#    error_log          /var/log/nginx/cp.4game.ru-error_log;

    location ~* (^/.htaccess.*|admin\/(admin.php.*)$) { deny all; }
        location ~* ^(.+\.(php|php3|html)|.*/)$ {
        proxy_pass              http://apache0;
        proxy_set_header        Host cp.4game.ru;
        proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header        X-Real-IP  $remote_addr;
        index                   index.php index.html;
        limit_conn              too 20;
        access_log              /var/log/nginx/stat_log stat_log_format;
    }
    location ~ / {
        root   /data/cp.4game.ru/htdocs;
    }
}

--
С уважением,
Волков Олег





 




Copyright © Lexa Software, 1996-2009.