Welcome! Log In Create A New Profile

Advanced

Re: nginx rewrite + memcached не срабатывает эта связка

June 10, 2010 10:44AM
On Thu, Jun 10, 2010 at 05:09:49PM +0400, TJ@dir.bg wrote:

> Приветствую!
>
> Nginx 0.7.65, debian
>
> Есть мемкеш, в нем по ключу "$host:$uri" лежит содержимое страницы
> (ключи экспарятся каждую минуту).
>
> Если такого ключа нет, управление передается (proxy_pass и далее)
> php-скрипту, который отрабатывает запрос, показывает содержимое и кладет
> содержимое страницы в кеш по нужному ключу.
>
> Тут все стандартно, все работает.
>
> Также есть rewrite, работающий, проверено.
>
> А вот при попытке скрестить реврайт и мемкеш получается странное,
> редирект на корень хоста!
>
>
> Кусок конфига:
> ...
> location / {
>
> if ($request_method = POST) {
> proxy_pass http://127.0.0.1:8050;
> break;
> }
>
> location /news/ {
> rewrite ^/news/(.*)-([0-9]+)$ /news.php?id=$2 last;
> }
>
> set $memcached_key "$host:$uri";
>
> memcached_pass 10.100.0.47:11211;
>
> default_type text/html;
> error_page 404 502 403 503 = /_fall_ ;
> }
>
> location = /_fall_ {
> proxy_pass 127.0.0.1:8070
> ...
> }
> ...
>
> Причем, выносили rewrite за пределы location / (меняя на break в конце)
> - не помогает.
>
> реврайт срабатывает:
> 2010/06/09 10:10:21 [notice] 12727#0: *2215 "^/news/(.*)-([0-9]+)$"
> matches "/news/la-la-la-6456827", client: 123.123.123.123, server:
> aaaa.bbb.cc, request: "GET /news/la-la-la-6456827 HTTP/1.1", host:
> "aaaa.bbb.cc"
> 2010/06/09 10:10:21 [notice] 12727#0: *2215 rewritten data: "/news.php",
> args: "id=6456827", client: 123.123.123.123, server: aaaa.bbb.cc,
> request: "GET /news/la-la-la-6456827 HTTP/1.1", host: "aaaa.bbb.cc"
>
> После не следует никакого обращения к php-скрипту news.php, в proxy_pass
> не передается ничего, просто редирект в /
>
> В чем может быть затык?
>
> Спасибо за помощь!

Поставьте 0.8.40 с таким конфигом:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=CACHE:10m;

server {
location / {
proxy_pass 127.0.0.1:8070;
}

location /news/ {
location ~ ^/news/(.*)-([0-9]+)$ {
proxy_pass proxy_pass 127.0.0.1:8070/news.php?id=$2;
}
}


--
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 10, 2010 09:12AM

Re: nginx rewrite + memcached не срабатывает эта связка

akalend June 10, 2010 09:50AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 10, 2010 10:04AM

Re: nginx rewrite + memcached не срабатывает эта связка

Igor Sysoev June 10, 2010 10:44AM

Re: nginx rewrite + memcached не срабатывает эта связка

Igor Sysoev June 10, 2010 10:50AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 11, 2010 05:30AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 16, 2010 09:46AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 17, 2010 03:24AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ June 29, 2010 04:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 163
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready