En esta página se proporcionan instrucciones para cambiar los modos de caché con Cloud CDN. Los modos de caché te permiten configurar cómo almacena en caché Cloud CDN tu contenido.
Antes de empezar
Consulta información sobre los modos de caché y el contenido estático.
Asegúrate de que Cloud CDN esté habilitado. Para obtener instrucciones, consulta el artículo Usar Cloud CDN.
Si es necesario, actualiza a la versión más reciente de la CLI de Google Cloud:
gcloud components update
Definir el modo de caché
Para configurar los modos de caché de un backend con Cloud CDN habilitado, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en el nombre de su balanceador de carga de aplicaciones externo.
- Haz clic en Editar .
- En Configuración de backend, selecciona un backend y haz clic en Editar .
- Asegúrate de que la opción Habilitar Cloud CDN esté seleccionada.
- En Modo de caché, selecciona una de las siguientes opciones:
- Almacenar en caché contenido estático (opción recomendada): el contenido estático son recursos web que no cambian para cada usuario. El contenido estático se basa en el encabezado
Content-Type
de la respuesta. Para obtener más información, consulta el artículo sobre el contenido estático. - Usar configuración del origen en función de los encabezados Cache-Control: almacena en caché las respuestas con directivas de caché válidas en los encabezados de respuesta.
- Forzar el almacenamiento en caché de todo el contenido: se almacena en caché todo el contenido servido correctamente por el origen y se ignoran las directivas
private
ono-store
.
- Almacenar en caché contenido estático (opción recomendada): el contenido estático son recursos web que no cambian para cada usuario. El contenido estático se basa en el encabezado
- Haz clic en Guardar.
gcloud
En el caso de los servicios de backend, usa el comando gcloud compute backend-services
create
o gcloud compute backend-services
update
con la marca --cache-mode
.
En el caso de los segmentos de backend, usa el comando gcloud compute backend-buckets
create
o gcloud compute backend-buckets
update
con la marca --cache-mode
.
gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME --cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME --cache-mode=CACHE_MODE
Sustituye CACHE_MODE
por una de las siguientes opciones:
CACHE_ALL_STATIC
(predeterminado): almacena en caché automáticamente el contenido estático. Las respuestas que se marcan como no almacenables en caché (directivasprivate
ono-store
en los encabezados de respuestaCache-Control
) no se almacenan en caché. Para almacenar en caché contenido dinámico, este debe tener encabezados de almacenamiento en caché válidos.USE_ORIGIN_HEADERS
: requiere que el origen defina encabezados de almacenamiento en caché válidos para almacenar contenido en caché. Las respuestas sin estos encabezados no se almacenan en caché en el perímetro de Google y requieren un viaje completo al origen en cada solicitud, lo que puede afectar al rendimiento y aumentar la carga en el servidor de origen.FORCE_CACHE_ALL
: almacena en caché todo el contenido (es decir, las respuestas correctas) e ignora las directivasprivate
ono-store
de los encabezados de respuestaCache-Control
. Esto puede dar lugar a que se almacene en caché contenido privado y por usuario (información personal identificable). Habilita esta opción únicamente en backends que no estén sirviendo contenido privado o dinámico (por ejemplo, en segmentos de Cloud Storage). No habilites esta opción en backends que estén sirviendo contenido privado o dinámico.
API
En el caso de los segmentos de backend, usa la llamada a la API Method: backendBuckets.insert
o Method: backendBuckets.update
.
En el caso de los servicios de backend, usa la llamada a la API Method: backendServices.insert
o Method: backendServices.update
.
Usa una de las siguientes llamadas a la API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Añade el siguiente fragmento al cuerpo de la solicitud JSON:
"cdnPolicy": { "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)
Sustituye CACHE_MODE
por una de las siguientes opciones:
CACHE_ALL_STATIC
(valor predeterminado): almacena en caché automáticamente el contenido estático si el origen no define encabezados de almacenamiento en caché válidos. Las respuestas que se marcan como no almacenables en caché (directivasprivate
ono-store
en los encabezados de respuestaCache-Control
) no se almacenan en caché. Para almacenar en caché contenido dinámico, este debe tener encabezados de almacenamiento en caché válidos.USE_ORIGIN_HEADERS
: requiere que el origen defina encabezados de almacenamiento en caché válidos para almacenar contenido en caché. Las respuestas sin estos encabezados no se almacenan en caché en el perímetro de Google y requieren un viaje completo al origen en cada solicitud, lo que puede afectar al rendimiento y aumentar la carga en el servidor de origen.FORCE_CACHE_ALL
: almacena en caché todo el contenido (es decir, las respuestas correctas) e ignora las directivasprivate
ono-store
de los encabezados de respuestaCache-Control
. Esto puede dar lugar a que se almacene en caché contenido privado y por usuario (información personal identificable). Debes habilitar esta opción únicamente en backends que no estén sirviendo contenido privado o dinámico (por ejemplo, en segmentos de Cloud Storage).