Entendiendo proxy_cache_bypass $http_cache_control

Entendiendo proxy_cache_bypass $http_cache_control

De acuerdo adocumento de nginxenproxy_cache_bypass

Define las condiciones bajo las cuales la respuesta no se tomará de un caché. Si al menos un valor de los parámetros de cadena no está vacío y no es igual a "0", la respuesta no se tomará del caché:

Quiero que la solicitud con el encabezado Cache-Control: no-cacheomita el caché de Nginx y se reenvíe al servicio ascendente. ¿Debo usar la siguiente configuración?

proxy_cache_bypass $http_cache_control;

Pregunté porque parece que Nginx omitirá el caché siempre que Cache-Controltenga un valor distinto de cero sin verificar si su contenido es no-cache. Si no, ¿cuál sería la mejor manera de lograr mi objetivo?

Respuesta1

Estás en lo correcto. Deberías usar un mapparaseleccione el valor correctopara controlar el caché.

Por ejemplo:

map $http_cache_control $cache_bypass {
    no-cache   1;
}

proxy_cache_bypass $cache_bypass;

Tenga en cuenta que el mapbloque debe colocarse fuera del serverbloque.

información relacionada