

# Criar uma página de erro personalizada para códigos de status HTTP específicos
<a name="creating-custom-error-pages"></a>

Se você preferir exibir uma mensagem de erro personalizada em vez da mensagem padrão, como por exemplo, uma página que usa a mesma formatação do resto do seu site, você pode fazer com que o CloudFront retorne ao visualizador um objeto (como um arquivo HTML) que contenha sua mensagem de erro personalizada.

Para especificar o arquivo que deseja retornar e os erros para os quais o arquivo deve ser retornado, atualize sua distribuição do CloudFront para especificar esses valores. Para obter mais informações, consulte [Configurar o comportamento de resposta a erros](custom-error-pages-procedure.md).

Por exemplo, o seguinte item é uma página de erro personalizada:

![\[Captura de tela de um exemplo de página 404 personalizada da AWS.\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/images/custom-error-page-aws-404-example.png)


Você pode especificar um objeto diferente para cada código de status HTTP compatível ou usar o mesmo objeto para todos os códigos de status compatíveis. Você pode optar por especificar páginas de erro personalizadas para alguns códigos de status e não para outros.

Os objetos fornecidos pelo CloudFront podem estar indisponíveis por vários motivos. Eles se encaixam em duas categorias gerais:
+ *Erros de cliente* indicam um problema com a solicitação. Por exemplo, um objeto com o nome especificado não está disponível ou o usuário não tem as permissões necessárias para obter um objeto no bucket do Amazon S3. Quando ocorre um erro de cliente, a origem retorna um código de status HTTP no intervalo 4xx para o CloudFront.
+ *Erros do servidor* indicam um problema com o servidor de origem. Por exemplo, o servidor HTTP está ocupado ou indisponível. Quando ocorre um erro de servidor, seu servidor de origem retorna um código de status HTTP no intervalo 5xx para o CloudFront ou o CloudFront não recebe uma resposta do seu servidor de origem por um determinado período de tempo e assume um código de status 504 (Tempo limite do Gateway).

Os códigos de status HTTP para os quais o CloudFront pode retornar uma página de erro personalizada incluem:
+ 400, 403, 404, 405, 414, 416
+ 500, 501, 502, 503, 504
**Observações**  
Se o CloudFront detectar que a solicitação pode não ser segura, retornará um erro 400 (solicitação inválida) em vez de uma página de erro personalizada.
É possível criar uma página de erro personalizada para o código de status HTTP 416 (intervalo solicitado insatisfatório) e alterar o código de status HTTP retornado pelo CloudFront aos visualizadores quando a origem retornar um código de status 416 ao CloudFront. Para obter mais informações, consulte [Alterar códigos de resposta exibidos pelo CloudFront](custom-error-pages-response-code.md). No entanto, o CloudFront não armazena em cache as respostas do código de status 416, portanto, mesmo se você especificar um valor para o **TTL mínimo de cache de erro** para o código de status 416, o CloudFront não o usará.
Em alguns casos, o CloudFront não retorna uma página de erro personalizada para o código de status HTTP 503, mesmo se você configurar o CloudFront para isso. Se o código de erro do CloudFront for `Capacity Exceeded` ou `Limit Exceeded`, o CloudFront retornará um código de status 503 ao visualizador sem usar sua página de erro personalizada.
Se você criou uma página de erro personalizada, o CloudFront exibirá `Connection: close` ou `Connection: keep-alive` para os seguintes códigos de resposta:  
O CloudFront exibe `Connection: close` para os códigos de status 400, 405, 414, 416, 500 e 501
O CloudFront exibe `Connection: keep-alive` para os códigos de status 403, 404, 502, 503 e 504.

Para obter uma explicação detalhada de como o CloudFront lida com respostas de erro de sua origem, consulte [Como o CloudFront processa códigos de status HTTP 4xx e 5xx da origem](HTTPStatusCodes.md).