Nginx FastCGI O cache é possível em URLs customizados?

1

Estou tentando criar uma solução de cache personalizada para o meu site com o cache FastCGI.

Estou tentando armazenar apenas algumas URLs em cache que geram tráfego de navegação. Eu sei dos meus logs exatamente quais URLs são, mas eles estão sempre mudando.

Existe uma maneira de especificar determinadas URLs que o Nginx precisa armazenar em cache, mas não armazenar todo o restante em cache.

Eu segui este tutorial , e eu tenho cache para trabalhar. Mas não consigo descobrir como armazenar URLs personalizados. Diga url.com/b.php?q=123 por exemplo.

O ideal seria armazenar uma lista de URLs em um arquivo .conf, que o Nginx carrega, e ele só usa o cache para essas URLs, mas não armazena em cache todos os outros arquivos. Isso é possível com o Nginx?

    
por Mr.Boon 11.04.2015 / 10:03

1 resposta

3

Você pode usar um map para isso. Coloque-o em um arquivo separado que seja include d do bloco http do servidor e, sempre que ele for alterado, recarregue o nginx.

Um exemplo:

map $request_uri $my_no_cache {
    default           1;
    /b.php?q=123      0;
}

Para usá-lo, coloque isso no server ou location :

relevante
fastcgi_no_cache $my_no_cache;
fastcgi_cache_bypass $my_no_cache;
    
por 11.04.2015 / 10:09