Custom Pages

Custom Pages é um recurso da Azion que permite personalizar páginas de erro para os usuários com base no código de status recebido de um Edge Connector.

Quando um usuário solicita conteúdo de uma edge application, a Azion envia a requisição para os servidores de origem utilizando o Edge Connector. Como resposta, o Edge Connector retorna um código de status HTTP, que indica se a requisição foi ou não concluída.

Com o Custom Pages, é possível customizar como sua aplicação irá tratar erros do tipo Cliente (4xx) e Servidor (5xx). Assim, quando uma requisição é feita para uma URL que não pode ser encontrada na origem ou quando o servidor não consegue responder, o usuário será redirecionado para uma página de erro personalizada, cujo conteúdo pode ser armazenado em cache.

Implementação

EscopoRecurso
Primeiros passos com Edge ApplicationPrimeiros passos
Personalizando página de erroComo personalizar uma página de resposta de erro
Edge ConnectorReferência do Edge Connector
WorkloadsReferência de Workloads
API de Custom PagesReferência da API

Page Codes

O código que a Azion recebe do Edge Connector ao conectar na origem.

Estes são os códigos de status disponíveis:

Código de statusDescrição
400: Bad RequestErro de requisição causado por parâmetros inválidos, parâmetros obrigatórios ausentes ou outros.
401: UnauthorizedErro resultante da ausência do cabeçalho HTTP Authentication.
403: ForbiddenFalta de permissões do usuário para executar a operação.
404: Not FoundO recurso solicitado não existe.
405: Method Not AllowedO método solicitado não pode ser aplicado à URL.
406: Not AcceptableO cabeçalho Accept não foi encontrado na requisição HTTP ou o cabeçalho contém conteúdo cujo formato ou versão não é suportado pela API.
408: Request TimeoutO servidor informa que a requisição está chegando mais devagar do que o servidor está preparado para esperar. Isso significa que o servidor gostaria de encerrar a conexão.

Essa resposta é frequentemente utilizada, pois alguns navegadores, como Chrome, Firefox 27+ ou IE9, usam pré-conexão HTTP para acelerar a navegação. Além disso, alguns servidores encerram a conexão sem enviar essa mensagem.
409: ConflictConflito na execução da requisição, como a criação de um registro já existente.
410: GoneEssa resposta é enviada quando o conteúdo solicitado foi permanentemente removido do servidor, sem um endereço de redirecionamento definido. Se esse erro ocorrer, quaisquer caches ou links para esse recurso devem ser removidos.

A especificação HTTP descreve que esse código deve ser usado para “serviços promocionais limitados”. APIs não devem ser feitas para indicar quais recursos foram removidos com esse código de status.
411: Length RequiredO servidor rejeitou a requisição porque o cabeçalho Content-Length está indefinido, mas é obrigatório para o servidor.
414: URI Too LongA URI solicitada é maior do que os limites do servidor.
415: Unsupported Media TypeO formato de mídia dos dados solicitados não é suportado pelo servidor, por isso a requisição é rejeitada.
416: Request Range Not SatisfiableO valor especificado pelo cabeçalho Range não pôde ser atendido; provavelmente está fora do intervalo dos dados da URI de destino.
426: Upgrade RequiredO servidor se recusa a executar a requisição usando o protocolo atual, mas estará pronto para fazê-lo após o cliente atualizar para um protocolo diferente. O servidor envia um cabeçalho de resposta Upgrade para indicar os protocolos necessários.
429: Too Many RequestsA requisição foi temporariamente rejeitada por exceder os limites de operação. O cliente deve aguardar até o momento definido no X-Ratelimit-Reset e tentar novamente.
431: Request Header Fields Too LargeOs cabeçalhos da requisição são muito longos ou muitos cookies foram enviados na requisição.
500: Internal Server ErrorErro não intencional, falha não identificada no processamento da requisição.
501: Not ImplementedO método de requisição não é suportado pelo servidor e não pode ser modificado. Os únicos métodos obrigatórios para suporte dos servidores (e que, portanto, não devem retornar esse código) são GET e HEAD.
502: Bad GatewayEssa resposta de erro significa que o servidor, atuando como gateway para obter uma resposta necessária para manipular a requisição, obteve uma resposta inválida.
503: Service UnavailableO servidor não está pronto para lidar com a requisição. Causas comuns são servidor sobrecarregado ou em manutenção. Junto a essa resposta, uma página amigável explicando o problema deve ser enviada.

Essas respostas devem ser usadas para condições temporárias e o cabeçalho Retry-After deve conter o tempo estimado para a recuperação do serviço. O webmaster também deve ter cuidado com os cabeçalhos de cache enviados com essa resposta, pois essas respostas de condição temporária normalmente não devem ser armazenadas em cache.
504: Gateway TimeoutEssa resposta de erro é enviada quando o servidor está atuando como gateway e não obtém uma resposta a tempo.
505: HTTP Version Not SupportedA versão HTTP utilizada na requisição não é suportada pelo servidor.

Response TTL

Define o tempo, em segundos, que a página de erro permanecerá em cache antes de ser atualizada.

Saiba mais sobre configurações de expiração de cache

Page Path (URI)

Este caminho especifica a URL interna da qual seu Edge Connector entrega o payload. Por exemplo, se você definir o caminho como /myerrors/505.html e o endereço do seu Edge Connector for myconnector.azion.com, o conteúdo será buscado e entregue a partir de myconnector.azion.com/myerrors/505.html.


Response Custom Status Code

Código de status que será entregue ao usuário em vez do original. Por exemplo, você pode configurar a aplicação para retornar um código de resposta 404 quando ocorrer um erro 403.