Commit 4f20d9a5 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Configura caché del cliente según rutas y params

Ahora no solo se configura el valor de caché del lado del cliente según
el dominio, sino que cada dominio puede evaluar que valor aplica en
función de la ruta o los parámetros de la petición.

Aprovecha para separar la definición de caché del lado del servidor y la
del lado del cliente en ficheros independientes.
parent a67833e5
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
# Preparación de evaluación de control de caché para un dominio concreto, según parámetros
map $arg_request $cache_control_atlas_value {
	GetMap "max-age=864000";
	GetTile "max-age=864000";
	default "no-cache";
}

# Preparación de evaluación de control de caché para un dominio concreto, según ruta
map $request_uri $cache_control_redmic_value {
	~^/api/.* "no-cache max-age=3600";
	default "max-age=3600";
}

# Evaluación de control de caché del lado del cliente según dominio
# Crear variables '$cache_control_<dominio>_value' según sea necesario
map $http_host $cache_control_value {
	hostnames;
	atlas.* $cache_control_atlas_value;
	redmic.* $cache_control_redmic_value;
	default "no-cache";
}
+2 −9
Original line number Diff line number Diff line
@@ -7,13 +7,14 @@ map $http_host $proxy_cache_zone {
	default off;
}

# Preparación de evaluación de bypass de caché para un dominio concreto
# Preparación de evaluación de bypass de caché para un dominio concreto, según parámetros
map $arg_request $proxy_cache_bypass_atlas_value {
	GetMap 0;
	GetTile 0;
	default 1;
}

# Preparación de evaluación de bypass de caché para un dominio concreto, según ruta
map $request_uri $proxy_cache_bypass_redmic_value {
	~^/api/mediastorage/.* 0;
	~^/api/.* 1;
@@ -29,14 +30,6 @@ map $http_host $proxy_cache_bypass_value {
	default 0;
}

# Evaluación de control de caché del lado del cliente según dominio
map $http_host $cache_control_value {
	hostnames;
	atlas.* "max-age=864000";
	redmic.* "max-age=86400";
	default "no-cache";
}

proxy_cache_path /var/nginx/atlas_cache
	levels=1:2
	keys_zone=atlas_cache:100m