English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Conteúdo da seção nginx.conf:
proxy_temp_path /nginx/cache/temp; proxy_cache_path /nginx/cache/níveis de caminho =1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g; ...... location ~ .(gif|jpg|jpeg|png)$ { proxy_pass http://upstreams; proxy_ignore_headers X-Aceleração-Expira Expira Cache-Conjunto de Controle-Cookie; proxy_cache cache_test; #Definir a chave do cache #Definir a chave do cache proxy_cache_key $host$uri$is_args$args; #Definir o código de status para200 e304respostas podem ser armazenadas em cache, e o tempo de cache é1dia proxy_cache_valid 200 304 1d; expires 30d; }
Razões para o nginx não armazenar em cache
Pelo padrão, se o nginx armazenar em cache é decidido conjuntamente pelo servidor de cache nginx e pelo servidor de origem, o servidor de cache precisa seguir rigorosamente o cabeçalho da resposta do servidor de origem para determinar se deve armazenar em cache e por quanto tempo.
Os cabeçalhos principais são os seguintes:
Cache-controle: não-cache, não-Armazenar
Se aparecer esses dois valores, o servidor de cache nginx nunca armazenará em cache.
Expira:1980-01-01
Se aparecer uma data anterior à atual, também não será armazenada em cache.
Solução para não armazenar em cache
2.1 Método um:
Modifique o cabeçalho da resposta do programa ou do servidor web de origem
2.2 Método dois:
nginx proxy adiciona a seguinte linha direto:
proxy_ignore_headers X-Aceleração-Expira Expira Cache-Conjunto de Controle-Cookie;
Resumo
Isso é tudo o que há neste artigo. Espero que o conteúdo deste artigo ajude a aprendizagem ou trabalho de alguém. Se tiverem dúvidas, podem deixar comentários para trocar ideias.