proxy_cache и POST запросы

Igor Sysoev is at rambler-co.ru
Fri Apr 3 15:59:37 MSD 2009


On Fri, Apr 03, 2009 at 01:41:56PM +0400, Александр Харисов wrote:

> Добрый день.
> 
> Как запретить кэширование POST запросов?
> 
> Такое не помогает...
> 
>        location / {
>            if ( $request_method = POST ){
>                proxy_pass         http://127.0.0.2;
>                break;
>            }
>            proxy_cache        data;
>            proxy_cache_valid  10m;
>            proxy_pass         http://127.0.0.2;
>        }
> 
> Насколько я понимаю команда proxy_cache прописывает дополнительный 
> upstream.cache для текущей локации.

Патч, который кэширует только GET.


-- 
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
Index: src/http/ngx_http_upstream.c
===================================================================
--- src/http/ngx_http_upstream.c	(revision 1981)
+++ src/http/ngx_http_upstream.c	(working copy)
@@ -531,6 +531,10 @@
     ngx_int_t          rc;
     ngx_http_cache_t  *c;
 
+    if (!(r->method & NGX_HTTP_GET)) {
+        return NGX_DECLINED;
+    }
+
     c = ngx_pcalloc(r->pool, sizeof(ngx_http_cache_t));
     if (c == NULL) {
         return NGX_ERROR;


More information about the nginx-ru mailing list