ПРОЕКТЫ 


  АРХИВ 


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]

рекурсивное исполнение ssi.



Здравствуйте.

Есть некий сайт, хочется настроить для него кеширование, но там есть некоторые 
блоки которые должны "вызываться" при каждом запросе.

По идее proxy_cache + ssi должно дать желаемый результат. Но в процессе 
настройки столкнулся со странным поведением nginx'а, которое не могу понять. 

Тех детали.
# nginx -V
nginx version: nginx/0.7.65
TLS SNI support enabled
configure arguments: --prefix=/usr --with-cc-opt=-I//usr/include --with-ld-
opt=-L//usr/lib --conf-path=/etc/nginx/nginx.conf --http-log-
path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --
pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/tmp/nginx/client 
--http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-
path=/var/tmp/nginx/fastcgi --with-http_realip_module --with-debug --with-
http_ssl_module --with-http_stub_status_module --without-mail_imap_module --
without-mail_pop3_module --without-mail_smtp_module

В аттаче конфиг вхоста, дебаг лог запроса и 2 php скрипта которые должны были 
создать ответ. Вернее не весь лог, а его начало. Когда был включен дебаг, 
запрос начал выполнятся и "залип", через несколько секунд я прибил wget, 
потому как лог рос с очень угрожающей скоростью. Дебаг был включен только на 
мой ip, поэтому там должен быть только один этот запрос.

Уже с выключенным дебагом тот же запрос завершился весьма быстро, его ответ 
так же в аттаче. То что попало в лог, при обработке этого запроса.

2010/08/17 20:15:22 [crit] 20456#0: *171052 open() 
"/var/cache/nginx/2.somedom.net/e5d6be5a2861d96c53474f29d6a2d496" failed (24: 
Too many open files), client: 188.163.41.29, server: 2.somedom.net, request: 
"GET /test3.php HTTP/1.0", subrequest: "/test2.php", host: "2.somedom.net"

Aug 17 18:46:46 somedom grsec: From 188.163.41.29: denied resource overstep by 
requesting 4096 for RLIMIT_NOFILE against limit 4096 for 
/usr/sbin/nginx[nginx:17500] uid/euid:104/104 gid/egid:1011/1011, parent 
/usr/sbin/nginx[nginx:17498] uid/euid:0/0 gid/egid:0/0

В обычной жизни оно и 2048 дескрипторов не переедает.

Наставьте пожалуйста на путь истинный, моя это бага или nginx'a? Даже если 
моя, nginx ведет себя весьма не хорошо.

Причем для менее тестового запроса этот конфиг отрабатывает правильно, что 
смущает еще больше.
proxy_cache_path /var/cache/nginx/2.somedom.tld levels= 
keys_zone=cache_somedom_2:32m;

server {
    listen      aaa.bbb.cc.dd;

    server_name 2.somedom.tld;

    access_log  /var/log/nginx/2.somedom-access.log generic;
    error_log   /var/log/nginx/2.somedom-error.log info;
    
    root        /srv/$host/www/htdocs;
    expires     4h;

    error_page 402 = @direct_access;

    location / {
        ssi on;
        if ($cookie_PHPSESSID) {
            return 402;
        }

        proxy_pass       http://upstr_self;

        proxy_set_header If-Modified-Since "";
        proxy_set_header If-None-Match    "";

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

        proxy_cache cache_somedom_2;
        proxy_cache_valid 200 301 302 304 2m;
        proxy_cache_use_stale updating error;
        proxy_cache_key "$host$request_uri?$args";

        proxy_hide_header "Set-Cookie";
        proxy_ignore_headers "Cache-Control" "Expires";
        proxy_ignore_client_abort on;
    }
    location ~ /giga/(login|registration) {
        return 402;
    }
    location /ssi/ {
        proxy_pass       http://upstr_self/;

        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 @direct_access {
        ssi on;
        proxy_pass       http://upstr_self;

        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 /upload/ { }
    location /templates/default/js/ { }
    location /templates/default/css/ { }
    location /templates/default/images/ { }
    location = /blank.gif { }
    location = /favicon.ico { }
    #location = /upload/banners/def_top.swf { return 403; }
}

Attachment: ssi-recursive-100M.log.bz2
Description: application/bzip

Attachment: test3.php
Description: application/php

Attachment: test2.php
Description: application/php

Title: test ssi
testtest8 _______________________________________________ nginx-ru mailing list nginx-ru@xxxxxxxxx http://nginx.org/mailman/listinfo/nginx-ru

 




Copyright © Lexa Software, 1996-2009.