memcached, $http_cookie, segmentation fault

Ivan Albetkov ivan at hc.ru
Wed Nov 28 18:19:13 MSK 2007


Добрый день!

Падают воркеры при проверке $http_cookie в if и использовании memcached.
Конфиг:
===cut===
     server {
         listen       4000;
         server_name  localhost;
         root   /www/htdocs;
         index  index.shtml;
         access_log  /usr/local/nginx/logs/access.log  main;
         location ~ \.shtml$ {
             ssi on;
         }
         location ~ \.html$ {
             if ($request_method = POST ) {
                 proxy_pass http://backend;
                 break;
             }
             if ($http_cookie ~* "SESSIONID=([^;]+)(?:;|$)") {
                 set $session_id $1;
             }
             set $memcached_key "ucp:$uri";
             memcached_pass 127.0.0.1:11212;
             error_page 404 502 = @fallback;
#               proxy_pass http://backend;
         }
         location @fallback {
             proxy_pass http://backend;
         }
     }
}

===cut===

если раскомментировать proxy_pass и закомментировать memcached_pass, то 
все хорошо.
если убрать "if($http_cookie ....", то тоже все хорошо.
Проверялось на 0.6.19, 0.6.17, 0.6.6.
дебаг лог для обоих вариантов (с proxy_pass и с memcached_pass) отдельно 
выслал.

-- 
BR,
Ivan Albetkov






More information about the nginx-ru mailing list