Configuração do Fastly
As capturas de tela a seguir ilustram como configurar Fastly para fornecer conteúdo. As configurações essenciais são marcadas com um círculo vermelho.
Configurar invalidação por push para o Fastly
A invalidação por push limpa automaticamente o conteúdo na CDN de produção do cliente (por exemplo, www.yourdomain.com
), sempre que um autor publicar alterações de conteúdo.
O conteúdo é removido por url e por tag/chave de cache.
A invalidação por push é ativada ao adicionar propriedades específicas à configuração do projeto (uma pasta de trabalho do Excel chamada .helix/config.xlsx
no Sharepoint ou em uma planilha do Google chamada .helix/config
no Google Drive).
Propriedades de configuração:
Para criar um token de API do Fastly,
- ir para Tokens de API pessoal,
- clique em "Criar token",
- insira um nome (por exemplo,
"Production Site Purge Token"
), - selecione "A specific service" (Um serviço específico) e seu serviço de produção na lista suspensa,
- marque a caixa de seleção "Purge select content (purge_select) — Purge by URL or surrogate key",
- selecione "Nunca expirar",
- clique em "Criar token",
- copie o valor do token gerado mostrado na janela pop-up.
Você pode validar as credenciais com este ferramenta.
Criar um serviço Fastly
Vá para a Interface de gerenciamento do Fastly e selecione Criar serviço:
Adicionar domínio
Adicione seu domínio de produção (por exemplo, www.mydomain.com
):
Configurar Origem
Adicione sua origem (por exemplo, main--mysite--hlxsites.hlx.live
):
Clique no lápis para editar a nova origem:
Rolar para baixo e alterar Blindagem para Ashburn Metro (IAD)
(não obrigatório, mas recomendado configuração) e Substituir host ao nome do host de sua origem (o mesmo que Endereço acima, por exemplo, main--mysite--hlxsites.hlx.live
) (obrigatório configuração):
Ativar Gzip
Criar trechos de VCL
Crie um trecho de VCL para o recv
com o seguinte código VCL:
if (req.url.path !~ "/media_[0-9a-f]{40,}[/a-zA-Z0-9_-]*\.[0-9a-z]+$"
&& req.url.ext !~ "(?i)^(gif|png|jpe?g|webp)$"
&& req.url.ext != "json"
&& req.url.path != "/.auth") {
// strip query string from request url
set req.url = req.url.path;
}
Criar trechos de VCL para o miss
e pass
sub-rotinas com o seguinte código VCL:
set bereq.http.X-BYO-CDN-Type = "fastly";
set bereq.http.X-Push-Invalidation = "enabled";
NB: A X-Push-Invalidation: enabled
o cabeçalho da solicitação permite a invalidação de push incl. TTLs de cache longo.
miss
trecho:
pass
trecho:
Finalmente, crie um deliver
trecho com o seguinte código VCL:
unset resp.http.Age;
if (req.url.path !~ "\.plain\.html$") {
unset resp.http.X-Robots-Tag;
}
Depois de concluir todas as etapas e ativar a versão do serviço, você deverá definir tudo:
Nota
A configuração do Fastly não deve usar Firewall de aplicativo web de última geração da Fastly para solicitações que estão indo contra hlx.live ou qualquer outra origem Edge Delivery Services. Ativar o WAF com o Edge Delivery Services pode levar à entrega de conteúdo incorreto.
O Edge Delivery Services não precisa do Firewall de aplicativos da Web, pois está sendo executado em uma infraestrutura avançada, compartilhada e ultrarescalável. As solicitações que um WAF normalmente interceptaria são encerradas em nossos CDNs.