Esta página fornece instruções para alterar os modos de cache com o Cloud CDN. Os modos de cache permitem-lhe configurar a forma como a RFC de multimédia na nuvem armazena em cache o seu conteúdo.
Antes de começar
Leia sobre os modos de cache e o conteúdo estático.
Certifique-se de que o Cloud CDN está ativado. Para obter instruções, consulte o artigo Usar o Cloud CDN.
Se necessário, atualize para a versão mais recente da CLI Google Cloud:
gcloud components update
Definir o modo de cache
Para configurar os modos de cache para um back-end ativado para o Cloud CDN, faça o seguinte:
Consola
- Na Google Cloud consola, aceda à página Equilíbrio de carga.
- Clique no nome do seu Application Load Balancer externo.
- Clique em Editar .
- Em Configuração de back-end, selecione um back-end e clique em Editar .
- Certifique-se de que a opção Ativar RFC está selecionada.
- Em Modo de cache, selecione uma das seguintes opções:
- Coloque conteúdo estático em cache (recomendado): o conteúdo estático são recursos Web que não se alteram para cada utilizador. O conteúdo estático baseia-se no
Content-Type
na resposta. Para mais informações, consulte o artigo sobre conteúdo estático. - Usar definições de origem com base nos cabeçalhos de controlo de cache: respostas de cache com diretivas de cache válidas nos cabeçalhos das respostas.
- Forçar a colocação em cache de todo o conteúdo: coloca em cache todo o conteúdo publicado com êxito pela origem, ignorando todas as diretivas
private
ouno-store
.
- Coloque conteúdo estático em cache (recomendado): o conteúdo estático são recursos Web que não se alteram para cada utilizador. O conteúdo estático baseia-se no
- Clique em Guardar.
gcloud
Para serviços de back-end, use o comando gcloud compute backend-services
create
ou gcloud compute backend-services
update
com a flag --cache-mode
.
Para buckets de back-end, use o comando gcloud compute backend-buckets
create
ou gcloud compute backend-buckets
update
com a flag --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
Substitua CACHE_MODE
por uma das seguintes opções:
CACHE_ALL_STATIC
(predefinição): coloca automaticamente em cache o conteúdo estático. As respostas marcadas como não armazenáveis em cache (diretivasprivate
ouno-store
nos cabeçalhos das respostasCache-Control
) não são armazenadas em cache. Para colocar conteúdo dinâmico em cache, o conteúdo tem de ter cabeçalhos de cache válidos.USE_ORIGIN_HEADERS
: requer que a origem defina cabeçalhos de colocação em cache válidos para colocar conteúdo em cache. As respostas sem estes cabeçalhos não são colocadas em cache no limite da rede da Google e requerem uma viagem completa à origem em cada pedido, o que pode afetar o desempenho e aumentar a carga no servidor de origem.FORCE_CACHE_ALL
: coloca em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando quaisquer diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isto pode resultar no armazenamento em cache de conteúdo privado por utilizador (identificável pelo utilizador). Ative esta opção apenas em back-ends que não estejam a publicar conteúdo privado ou dinâmico, como contentores do Cloud Storage. Não ative esta opção em back-ends que estejam a publicar conteúdo privado ou dinâmico.
API
Para contentores de back-end, use a chamada da API
Method: backendBuckets.insert
ou
Method: backendBuckets.update
.
Para serviços de back-end, use a chamada da API
Method: backendServices.insert
ou
Method: backendServices.update
.
Use uma das seguintes chamadas da 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
Adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)
Substitua CACHE_MODE
por uma das seguintes opções:
CACHE_ALL_STATIC
(predefinição): coloca automaticamente em cache o conteúdo estático se a origem não definir cabeçalhos de colocação em cache válidos. As respostas que são marcadas como não armazenáveis em cache (diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
) não são armazenadas em cache. Para colocar conteúdo dinâmico em cache, o conteúdo tem de ter cabeçalhos de colocação em cache válidos.USE_ORIGIN_HEADERS
: requer que a origem defina cabeçalhos de colocação em cache válidos para colocar conteúdo em cache. As respostas sem estes cabeçalhos não são colocadas em cache no limite da rede da Google e requerem uma viagem completa à origem em cada pedido, o que pode afetar o desempenho e aumentar a carga no servidor de origem.FORCE_CACHE_ALL
: coloca em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando quaisquer diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isto pode resultar no armazenamento em cache de conteúdo privado por utilizador (identificável pelo utilizador). Só deve ativar esta opção em back-ends que não estejam a publicar conteúdo privado ou dinâmico, como contentores do Cloud Storage.