nginx serving wrong website under proxy_cache

Igor Sysoev is at rambler-co.ru
Wed Apr 29 09:49:14 MSD 2009


On Tue, Apr 28, 2009 at 07:27:00PM -0700, Payam Chychi wrote:

> hey guys,
> 
> So I had 3 sites configured to use caching on my nginx box (tried with
> .50, 52 and 53 build) however of the three websites kept redirecting
> me to the first site that I was doing caching for.
> 
> Example Sites:
> 0.0.0.1
> 0.0.0.2
> 0.0.0.3
> 
> HTTP config very similar to this only each utilize a different
> "listen" ip address and each site has a different Backend 'Origin" ip:
> 
> # HTTP LB
>  upstream LB_HTTP_0.0.0.1 {
>  server x.x.x.x:80;
>  }
> 
>     server {
> 
>         listen       0.0.0.1:80;
>         server_name  website_0.0.0.1;
> 
>          access_log      /var/log/nginx/any.website_0.0.0.1.access_log main;
>          error_log       /var/log/nginx/any.website_0.0.0.1.error_log info;
> 
>         error_page  404  /404.html;
>         location = /404.html {
>             root   html;
>         }
>         error_page  404 500 502 503 504  /50x.html;
>         location = /50x.html {
>             root   html;
>         }
> 
>          location / {
>          proxy_intercept_errors on;
>          proxy_pass              http://LB_HTTP_0.0.0.1;
>          proxy_cache             one;
>          proxy_cache_key         backend$request_uri;

Do you have the same

           proxy_cache_key         backend$request_uri;

for all three sites ? You need something like this:

           proxy_cache_key         0.0.0.1$request_uri;

Or you may create several caches:

proxy_path /path/to/cache1  keys_zone=cache1:10m;

>          proxy_cache_valid       200  1h;
>          proxy_cache_valid       404 5m;
>          proxy_cache_use_stale   error timeout invalid_header;
>          }
> }
> 
> 
> When browsing to 0.0.0.1, everything was fine
> going to 0.0.0.2 or 0.0.0.3 or any other ip for that matter in the
> same class C "/24" it would redirect you to the 0.0.0.1 config which
> would then proxy-pass the data back to the origin belonging to the
> 0.0.0.1 config
> 
> Anyone seen this issue at all?
> Once i commented all proxy_cache and restarted nginx, problem went away.
> 
> Note that i even tried deleting /etc/nginx-cache/* and recreating
> it... did not help
> 
> Thanks,
> -- 
> Payam Tarverdyan Chychi
> Network Security Specialist / Network Engineer

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list