Nginx,反向代理,只caching一些路由

我有一个在英国运行的RESTful API,但不知何故,AU用户的速度非常慢。 所以我想要做的是在AU服务器上放置一个nginx代理,并caching一些路由1,10和60分钟,而不要caching其余的。

我不确定这是否可以用nginx实现,但这是我做的;

server { listen 80; server_name proxycache.domain.com; access_log /var/log/nginx/reverse.log upstreamlog; proxy_ignore_headers Set-Cookie; proxy_hide_header Set-Cookie; proxy_ignore_headers Cache-Control; proxy_ignore_headers Vary; proxy_ignore_headers X-Accel-Redirect; proxy_ignore_headers X-Accel-Expires; proxy_ignore_headers X-Accel-Limit-Rate; proxy_ignore_headers X-Accel-Buffering; proxy_ignore_headers X-Accel-Charset; proxy_ignore_headers Expires; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host data.domain.com; add_header X-Cache $upstream_cache_status; proxy_redirect off; proxy_cache STATIC; proxy_cache_key $host$uri$is_args$args; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_min_uses 1; location /api/a { proxy_pass http://data.domain.com/api/a; proxy_cache_valid 200 301 302 1m; break; } location /api/b { proxy_pass http://data.domain.com/api/b; proxy_cache_valid 200 301 302 60m; break; } location / { proxy_pass http://data.domain.com/; proxy_cache_valid 200 301 302 0s; break; } } 

如果我请求/api/a/api/b或任何其他URL,但是如果我发送一个类似于/api/a/some_other_var之类的请求,它会再次出现在最后一个位置,而不是第一个位置。 那么我做错了什么?