Personalizar las claves de caché

En esta página, se explica cómo personalizar las claves de caché de Cloud CDN.

Cambiar la configuración de las claves de caché puede provocar una caída repentina en la tasa de aciertos de caché si las solicitudes nuevas comienzan a usar las claves de caché que son diferentes de las entradas de claves de caché anteriores. Del mismo modo, cambiar el creador de claves de caché no siempre invalida las entradas almacenadas en caché si las solicitudes nuevas usan la misma clave que las claves de caché anteriores. Para invalidar las entradas almacenadas en caché existentes, consulta Invalida contenido almacenado en caché.

Antes de comenzar

En esta página, se supone que conoces Cloud CDN, las claves de caché de Cloud CDN y los servicios de backend con balanceo de cargas. Te recomendamos que revises estas páginas antes de continuar.

Habilita Cloud CDN y personaliza las claves de caché

Con estas instrucciones, se activa Cloud CDN para un servicio de backend con balanceo de cargas y se personaliza la clave de caché. Si aún no tienes un balanceador de cargas para usarlo como origen, consulta la documentación del balanceador de cargas de aplicaciones externo para obtener instrucciones para crear uno.

Los buckets de backend no incluyen el protocolo ni el host en la clave de caché, ya que estos no influyen en la forma en la que se hace referencia a los objetos dentro de un bucket de Cloud Storage. Sin embargo, incluyen un conjunto de parámetros de cadena de consulta específicos de Cloud Storage, que podrían afectar la respuesta y extenderse con una lista personalizable de nombres de parámetros.

Console

  1. En la consola de Google Cloud , ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haz clic en el nombre del origen que deseas actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de cargas conectado al origen, selecciona el que deseas actualizar en el menú Editar.

  4. Para expandir la sección Rendimiento de la caché, haz clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes clave de la caché, de forma predeterminada, se seleccionan todos los componentes. Desmarca las casillas de verificación de los componentes que deseas excluir de la clave de caché.

  7. Haz clic en Listo.

gcloud

Para excluir uno o más componentes de las claves de caché de un servicio de backend, usa el comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --no-cache-key-include-protocol \
    --no-cache-key-include-host \
    --no-cache-key-include-query-string

Para los buckets de backend, usa el comando gcloud compute backend-buckets update.

API

Para excluir uno o más componentes de la clave de caché, especifica las opciones de configuración en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Para los servicios de backend, usa la llamada a la API del método backendServices.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

En el caso de los buckets de backend, usa la llamada a la API del método backendBuckets.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET

Agrega el siguiente fragmento al cuerpo de solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Actualiza las claves de caché para agregar el protocolo, el host y la cadena de consulta

De forma predeterminada, los servicios de backend configurados para usar Cloud CDN incluyen todos los componentes del URI de solicitud en las claves de caché. Si indicaste con anterioridad que uno o más componentes deberían excluirse, puedes usar los siguientes pasos para incluirlos de nuevo.

Estas instrucciones agregan el protocolo, el host y la cadena de consulta a la clave de caché para un servicio de backend existente que ya tiene habilitado Cloud CDN.

Console

  1. En la consola de Google Cloud , ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haz clic en el nombre del origen que deseas actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de cargas conectado al origen, selecciona el que deseas actualizar en el menú Editar.

  4. Para expandir la sección Rendimiento de la caché, haz clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes clave de la caché, selecciona las casillas de verificación Protocolo, Host y Cadena de consulta.

  7. Haz clic en Listo.

gcloud

Para agregar uno o más componentes a las claves de caché de un servicio de backend, usa el comando gcloud compute backend-services update.

Las marcas que no se especifican permanecen sin cambios.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Para agregar uno o más componentes a la clave de caché, especifica las opciones de configuración en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Agrega el siguiente fragmento al cuerpo de solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Actualiza claves de caché para usar una lista de inclusiones o exclusiones de parámetros de cadenas de consulta

Estas instrucciones configuran claves de caché de Cloud CDN para usar una lista de inclusiones o una lista de exclusiones con parámetros de cadena de consulta.

Console

  1. En la consola de Google Cloud , ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haz clic en el nombre del origen que deseas actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de cargas conectado al origen, selecciona el que deseas actualizar en el menú Editar.

  4. Para expandir la sección Rendimiento de la caché, haz clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes clave de la caché, selecciona la casilla de verificación Cadena de consulta. Luego, selecciona una de las siguientes opciones:

    • Si deseas especificar los parámetros de la cadena de consulta que deben formar parte de la clave de caché, selecciona Incluir solo los seleccionados.

    • Si deseas especificar que todos los parámetros de la cadena de consulta, con excepción de los que enumeras, se incluyan en la clave de caché, selecciona Incluir todos excepto los seleccionados.

  7. Haz clic en Agregar parámetro y especifica los parámetros.

  8. Haz clic en Listo.

gcloud

Para especificar una lista de inclusiones o una lista de exclusiones para un servicio de backend, especifica los parámetros de la cadena de consulta con el comando gcloud compute backend-services update.

Usa este comando para establecer el parámetro de cadena de consulta user en la lista de inclusiones de un servicio de backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Usa este comando para establecer el parámetro de cadena de consulta user en la lista de exclusiones de un servicio de backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Usa este comando para establecer el parámetro de cadena de consulta user en la lista de inclusiones de un bucket de backend.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Para especificar una lista de inclusión o exclusión para un servicio de backend, especifica los parámetros de cadena de consulta en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Para especificar una lista de inclusión, agrega el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Reemplaza QUERY_STRINGS por una lista separada por comas de parámetros de cadena de consulta.

Para especificar una lista de exclusiones, agrega el siguiente fragmento:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Actualiza claves de caché para usar encabezados HTTP

En estas instrucciones, se configuran las claves de caché de Cloud CDN para usar encabezados HTTP, que pueden incluir variables personalizadas permitidas.

Console

  1. En la consola de Google Cloud , ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haz clic en el nombre del origen que deseas actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de cargas conectado al origen, selecciona el que deseas actualizar en el menú Editar.

  4. Para expandir la sección Rendimiento de la caché, haz clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes clave de la caché, selecciona la casilla de verificación Encabezados HTTP.

  7. Para especificar uno o más encabezados HTTP, haz clic en Agregar encabezado HTTP.

  8. Haz clic en Listo.

gcloud

Usa el comando gcloud compute backend-services update con la opción cache-key-include-http-header.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Reemplaza HEADER_FIELD_NAMES por una lista de nombres de encabezados separados por comas.

API

Especifica los encabezados HTTP para las claves de caché en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Agrega el siguiente fragmento al cuerpo de solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Reemplaza HEADER_FIELD_NAMES por una lista de nombres de encabezados separados por comas.

Si el encabezado de clave de caché especificado también se especifica como un encabezado de solicitud personalizado, no puedes usar el rango completo de variables.

Para obtener más información, consulta Usa variables personalizadas con encabezados de solicitud.

Actualiza claves de caché para usar cookies con nombre

En estas instrucciones, se configuran las claves de caché de Cloud CDN para usar cookies HTTP.

Console

  1. En la consola de Google Cloud , ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haz clic en el nombre del origen que deseas actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de cargas conectado al origen, selecciona el que deseas actualizar en el menú Editar.

  4. Para expandir la sección Rendimiento de la caché, haz clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Cache key components, selecciona la casilla de verificación Named cookies.

  7. Para especificar una o más cookies, haz clic en Agregar cookie con nombre.

  8. Haz clic en Listo.

gcloud

Usa el comando gcloud compute backend-services update con la opción cache-key-include-named-cookie.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Reemplaza NAMED_COOKIES por una lista de cookies nombradas separadas por comas.

API

Para especificar una lista de inclusión o exclusión para un servicio de backend, especifica los parámetros de cadena de consulta en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Para especificar una lista de inclusión, agrega el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Reemplaza NAMED_COOKIES por una lista separada por comas de parámetros de la cadena de consulta.

¿Qué sigue?