technology

Como criar e configurar a página de erro 404 no NGINX

.

Vamos aprender como criar e configurar uma página de erro 404 no NGINX para melhorar a experiência do usuário em seu site.

Quando você hospeda seu site no servidor da Web NGINX, ele lida com a solicitação do cliente, mas quando a solicitação não é atendida, ele retorna um erro.

Este erro será exibido para um usuário por meio de uma página HTML básica com os códigos de erro (404, 403, 500, e 503) como mostrado abaixo.

Página de erro NGINX 404

Ter um site dinâmico com uma página de aparência tão feia reduzirá a impressão de UI/UX do seu site. No entanto, o NGINX oferece a opção de configurar uma página de erro personalizada para o seu site.

Para fazer isso, você precisa criar uma página HTML personalizada e especificá-la no diretiva error_page do arquivo de configuração NGINX, que será usado como URI para exibir a página de erro personalizada para o erro especificado no arquivo de configuração.

Hoje, você aprenderá como criar e configurar o NGINX para lidar com erros únicos ou múltiplos, como páginas 404 no nginx com páginas HTML personalizadas.

Pré-requisitos

  • Servidor web Nginx instalado em seu sistema
  • Ou você tem acesso root ou privilégios sudo
  • Modelo personalizado para páginas de erro (a fonte será fornecida)
  • Navegador para testar o resultado (Chrome, Firefox, etc)

Criando sua página de erro 404 personalizada

Primeiro, aprenderemos a lidar com o código de resposta 404 com uma página HTML personalizada. Para isso, criaremos uma página personalizada que será mostrada aos usuários no lugar da resposta NGINX padrão para o código de status 404.

Para fins de demonstração, já criei uma página de modelo HTML de amostra que exibe a mensagem de erro “Erro 404: A página solicitada não está disponível, entre em contato com o administrador.” quando visualizado.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Access denied</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            border: 0;
        }
        body {
            padding: 10px;
        }
        .container {
            margin-top: 10rem;
            text-align: center;
        }
        .container .error {
            font-size: 10rem;
        }
        .container .description {
            font-size: 1.2rem;
        }
        @media screen and (max-width: 600px) {
            .container .error {
                font-size: 5rem;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="error">
           Error 404 
        </div>
        <div class="description">
            THe requested page is not available, please contact to administrator.
        </div>
    </div>
</body>
</html>

Você pode copiar o código HTML acima, colá-lo em seu editor de texto e salvar o arquivo com o nome “página de erro.html“. Mais tarde, você pode alterá-lo para algo diferente.

Agora copie o “página de erro.html” no diretório raiz do documento NGINX localizado no /var/www/html caminho usando o comando abaixo.

$ sudo cp error-page.html /var/www/html/

A próxima parte será criar um arquivo de configuração (snippets) e configurar o nginx.conf arquivo.

Configurando o NGINX para usar suas páginas de erro

Primeiro, criaremos um novo arquivo de configuração dentro do diretório snippet localizado no /etc/nginx/snippets caminho com nome página de erro.conf.

Para isso, crie um trechos diretório. Caso não exista no /etc/nginx path, o comando abaixo criará um novo diretório com o nome trechos.

$ sudo mkdir -p /etc/nginx/snippets

Em seguida, execute o comando abaixo para criar o página de erro.conf arquivo de configuração dentro do trechos diretório.

$ sudo nano /etc/nginx/snippets/error-page.conf

Quando o arquivo estiver aberto para edição, copie e cole o código abaixo no arquivo de configuração e salve-o.

error_page 404 /error-page.html;
location = /error-page.html {
        root /var/www/html;
        internal;
}

A partir do código de trecho acima, sempre que o NGINX encontrar uma resposta 404 do usuário final, ele retornará o página de erro.html como a resposta.

Em seguida, devemos incluir página de erro.conf dentro do arquivo de configuração NGINX. Para isso, execute o comando abaixo para abrir o arquivo de configuração do NGINX.

$ sudo nano /etc/nginx/sites-enabled/default         # For Ubuntu/Debian-based distro's
OR
$ sudo nano /etc/nginx/nginx.conf                    # For RHEL/Fedora-based distro's

Abaixo está a saída do comando acima.

Abrindo arquivo de configuração NGINX
Abrindo arquivo de configuração NGINX

Copie a linha abaixo para incluir o caminho absoluto do arquivo de trecho e coloque-o dentro do servidor container no arquivo de configuração NGINX.

include snippets/error-page.conf;

Abaixo está a saída após as alterações.

Arquivo de configuração NGINX após as alterações
Arquivo de configuração NGINX após as alterações

Finalmente, você pode reiniciar o servidor web NGINX e testar sua página.

Reiniciando o NGINX e testando sua página

Depois que todas as alterações de configuração necessárias forem feitas, recarregue o servidor da Web NGINX usando o seguinte comando.

$ sudo systemctl reload nginx

Por fim, abra seu navegador e visite qualquer página que não exista para visualizar a página de erro, conforme mostrado abaixo.

Página de resposta 404 personalizada
Página de resposta 404 personalizada

Crie diferentes páginas personalizadas para cada erro NGINX

O NGINX permite que você configure facilmente várias páginas para diferentes erros de HTTP.

Em vez de criar uma página separada e configurar cada página de erro para os erros personalizados, estamos fornecendo a você um Repositório GitHub com páginas de erro personalizadas pré-fabricadas com uma configuração que pode ser configurada em segundos.

Execute os comandos abaixo passo a passo.

$ sudo mkdir -p /srv/http/default
$ sudo git clone https://github.com/denysvitali/nginx-error-pages /srv/http/default
$ mkdir -p /etc/nginx/snippets/
$ sudo ln -s /srv/http/default/snippets/error_pages.conf /etc/nginx/snippets/error_pages.conf
$ sudo ln -s /srv/http/default/snippets/error_pages_content.conf /etc/nginx/snippets/error_pages_content.conf

Agora abra o arquivo de configuração do NGINX com o editor de texto de sua escolha.

$ sudo nano /etc/nginx/sites-enabled/default         # For Ubuntu/Debian-based distro's
OR
$ sudo nano /etc/nginx/nginx.conf                    # For RHEL/Fedora-based distro's

Adicione a linha abaixo dentro do arquivo de configuração.

include snippets/error_pages.conf;

Por último, recarregue seu servidor web NGINX para aplicar as alterações.

$ sudo systemctl reload nginx

Agora você pode simplesmente visitar qualquer página desconhecida para verificar a página de erro, conforme mostrado abaixo.

Página de erro personalizada
Página de erro personalizada

Embrulhar

Isso é tudo neste artigo, onde você aprendeu como criar uma página de erro personalizada para lidar com solicitações de maneira bonita e eficaz para o seu servidor da web.

Espero que este artigo possa ser útil para sua jornada de aprendizagem do servidor web NGINX. Se você ainda estiver enfrentando algum problema, a seção de comentários está aberta para você.

Vejo você no próximo artigo….

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo