Is proxy_cache_valid required?

Hello!

I had trouble this morning setting up a basic cache with a proxy. Based
on the proxy documentation and
What Is Caching? Local Storage of Popular Content | NGINX, I did not expect to
have to set proxy_cache_valid; however, when this directive was not set
anywhere, I saw no cache files written.

My config file is as below:

worker_processes 1;
user freewaf freewaf;
error_log logs/error.log debug;
worker_rlimit_core 500M;
working_directory /tmp;

events {
worker_connections 1024;
}

http {
lua_package_path ‘/usr/local/openresty/lualib/fw/?.lua;;’;
lua_shared_dict fw_shm 50m;
lua_regex_match_limit 100000000;

client_body_buffer_size 512k;
client_max_body_size 2m;
proxy_http_version 1.1;

proxy_cache_path /fw/shm/cache levels=1:2 keys_zone=fw:32m;

include conf.d/*.conf;
}

upstream upstream_2 {
server 23.226.226.175 ;
}

server {
server_name cryptobells.com www.cryptobells.com;
access_log logs/cryptobells.com.access.log;
error_log logs/cryptobells.com.error.log;
client_max_body_size 2m;
listen 80;
proxy_cache fw;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;

location / {
default_type text/html;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://upstream_2;
}

location ~* .(jpg|jpeg|gif|png|css|js|ico|xml)$ {
expires 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://upstream_2;
}
}

However, with the following commented out:

proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;

No caching content was written. Debug logs don’t show anything out of
the ordinary (though I will post if you like); any thoughts on this?

Interesting question… I also don’t see the need of that directive

On Fri, Jul 25, 2014 at 1:30 PM, Robert P. <
[email protected]> wrote:

worker_processes 1;
lua_package_path ‘/usr/local/openresty/lualib/fw/?.lua;;’;
}
listen 80;

[email protected]
nginx Info Page


“Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia” P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

“Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação
da
Mente Macrocósmica, e todas as entidades estão sendo criadas,
preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando.
Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por
isso
a propriedade deste universo é de Brahma, e não dos microcosmos que
também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste
mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos.”
Restante do texto em

Hello!

On Fri, Jul 25, 2014 at 09:30:04AM -0700, Robert P. wrote:

Hello!

I had trouble this morning setting up a basic cache with a proxy. Based
on the proxy documentation and
What Is Caching? Local Storage of Popular Content | NGINX, I did not expect to
have to set proxy_cache_valid; however, when this directive was not set
anywhere, I saw no cache files written.

The proxy_cache_valid directives are needed if backend response
doesn’t indicate cacheability of the response with “Cache-Control:
max-age=…”, “Expires”, or “X-Accel-Expires” (or if these headers
are ignored using the “proxy_ignore_headers” directive).


Maxim D.
http://nginx.org/

Thanks, this was indeed the problem- I should have checked that first.
Thank you as always Maxim! :smiley: