Personalize uma página de erro
Substitua as respostas de erro de um workload por páginas suas, uma por código de status, cada uma com tempo de cache e código de status de resposta próprios.
Você pode substituir as respostas de erro de um workload por páginas suas, para vários códigos de status de uma vez, pelo Azion Console, pela Azion CLI ou pela API. Para criar o seu primeiro conjunto com uma página e vê-la substituir um 404, consulte Primeiros passos com Custom Pages.
Com Custom Pages, as páginas ficam em um conjunto de custom pages. Cada página responde a um código de status que o connector da aplicação retorna, e o conjunto serve páginas apenas depois que o deployment do workload o nomeia.
Uma aplicação que roda na API v3 define as suas páginas de erro em Error Responses. Para mais informações, consulte Error Responses.
Selecione uma interface. Os pré-requisitos e as etapas de cada tarefa seguem a sua escolha.
Pré-requisitos
- Um workload e uma aplicação para ele servir. Para criar os dois, consulte Primeiros passos com Workloads.
- Um connector que serve os documentos das suas páginas de erro, cada um no próprio caminho. Para mais informações, consulte Connectors.
- Acesso ao Azion Console. Para mais informações, consulte Como acessar o Azion Console.
- Um workload cujo deployment nomeia a aplicação.
Crie um conjunto com uma página para cada código
Cada página do conjunto recebe o próprio código de status, caminho no connector, tempo de cache e código de status de resposta. Uma página também pode responder com um código diferente daquele que o connector retornou, como um 404 no lugar de um 403. A Azion serve a página no próprio lugar, sem redirecionamento. Depois que você altera o documento de uma página, a Azion continua servindo a cópia em cache até que o tempo de cache dela termine. Para os códigos que uma página aceita e o intervalo de cada campo, consulte Configurações de custom page.
Para criar o conjunto com Azion CLI, salve um arquivo JSON com uma entrada em pages por código de status, aqui como pages.json. Este conjunto responde a um 404 com a página em /errors/404.html e responde a um 403 com a mesma página e o status 404:
Crie o conjunto a partir do arquivo:
O comando imprime o ID do conjunto novo. O deployment precisa dele na próxima tarefa:
Um arquivo cuja lista pages está vazia é recusado com Ensure this field has at least 1 elements.
Atribua o conjunto no deployment do workload
O deployment de um workload nomeia a aplicação, o firewall e o conjunto de custom pages dele. Apenas o conjunto de custom pages muda aqui, então a aplicação e o firewall mantêm os valores que o workload usa hoje.
Para atribuir o conjunto com Azion CLI, crie o deployment do workload com o conjunto em --custom-page:
O comando imprime o ID do deployment novo:
Se o workload usa um firewall, adicione --firewall-id <firewall-id> ao comando. Em um workload que já tem um deployment, o comando falha com The maximum number of deployments allowed per workload is 1. Azion CLI 4.23.0 não tem comando que altere um deployment, então atribua o conjunto a esse workload no Azion Console ou com a API.
Confirme que uma página substitui o erro
A verificação é a mesma para todas as interfaces. Uma mudança no deployment de um workload leva vários minutos para alcançar toda a infraestrutura distribuída da Azion, e as requisições podem receber a configuração anterior ou a atualizada nesse meio-tempo. Repita uma requisição até que as respostas concordem.
Solicite um caminho para o qual o seu connector retorna um código de status que o conjunto cobre. Substitua <your-domain> por um domínio que o workload serve, como o workload domain dele, no formato <id>.map.azionedge.net:
Para uma página cujo código de status de resposta é 404, a resposta começa com esta linha de status, seguida dos headers que o seu connector envia e do documento no caminho da página:
A resposta não traz header Location, então o cliente permanece na URL solicitada e não é redirecionado. Se a resposta de erro do próprio connector ainda chega depois que a mudança no deployment se propagou, consulte Solucionar problemas de Workloads.