English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Causas y soluciones de problemas de no caché en nginx

contenidos de la sección nginx.conf:

  proxy_temp_path  /nginx/caché/temp;
  proxy_cache_path /nginx/caché/levels de ruta =1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g;
......
 location ~ .(gif|jpg|jgep|png)$ {
    proxy_pass http://upstreams;
    proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
    proxy_cache cache_test;
    #Establecer la clave de almacenamiento en caché
    #Establecer la clave de almacenamiento en caché como $host$uri$is_args$args;
    #Establecer el código de estado como200 y304las respuestas pueden almacenarse en caché y el tiempo de almacenamiento en caché es1días
    proxy_cache_valid 200 304 1d;
    expires 30d;
  }

Razones por las que nginx no almacena en caché

Por defecto, si nginx almacena en caché está determinado por el servidor de almacenamiento en caché de nginx y el servidor de origen, el servidor de almacenamiento en caché debe cumplir estrictamente con el encabezado de respuesta del servidor de origen para determinar si se almacena en caché y el tiempo de almacenamiento en caché.

Los encabezados principales son los siguientes:

Cache-control: no-cache, no-store

Si aparecen estos dos valores, el servidor de almacenamiento en caché de nginx nunca almacenará en caché

Expires:1980-01-01

Si el fecha es anterior a la hora actual, no se almacenará en caché.

Solución para no almacenar en caché

2.1 Método uno:

Modificar el encabezado de respuesta del programa o del servidor web del servidor de origen

2.2 Método dos:

nginx proxy agrega directamente la siguiente frase:

proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;

Resumen

Esto es todo el contenido de este artículo, espero que el contenido de este artículo pueda ayudarles en su aprendizaje o trabajo, si tienen alguna pregunta, pueden dejar un mensaje para la comunicación.

Te gustará