A utilização do NGINX reverse proxy é uma opção bastante popular. Para configurá-la, tudo o que você precisa fazer é instalar o NGINX, criar um arquivo de configuração e ajustar as definições do servidor. Você também pode fazer um teste usando o Gunicorn para verificar se a configuração foi bem-sucedida.

Como configurar NGINX reverse proxy

Um proxy reverso ou reverse proxy ajuda a aumentar a segurança, flexibilidade e disponibilidade de recursos. Ele fica posicionado entre o client e o servidor do Ubuntu e não é detectado pelos usuários. O NGINX reverse proxy é uma solução bastante recomendada para atender às solicitações recebidas. A seguir, explicaremos como fazer sua instalação e configuração no Ubuntu 22.04.

Dica

Também temos este tutorial que mostra como instalar o NGINX no Ubuntu 20.04. Você também pode entender melhor do que se trata um servidor proxy.

Requisitos de sistema para NGINX reverse proxy

Para configurar o NGINX reverse proxy no Ubuntu 22.04, você precisa de:

  • Um servidor Ubuntu configurado
  • O endereço IP do servidor ou soquete de domínio Unix
  • O domínio do seu servidor
  • Privilégios sudo para o servidor

Instalar NGINX reverse proxy

Primeiro, atualize o seu repositório usando o terminal para obter acesso aos pacotes mais recentes. Em seguida, instale o NGINX usando o comando apt install. Este é o código para realizar a atualização e a instalação:

$ sudo apt update
$ sudo apt install nginx
bash

Pressione [Y] para confirmar e [Enter] para aplicar as configurações.

Depois, configure seu firewall para que o NGINX possa acessar seu servidor. Use o comando a seguir para adicionar uma exceção:

$ sudo ufw allow 'Nginx HTTP'
bash

Em seguida, verifique se a instalação foi bem-sucedida:

$ systemctl status nginx
bash

Se o NGINX foi instalado corretamente, você receberá uma mensagem como esta:

nginx.service - A high performance web server and a reverse proxy server
      Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
         Docs: man:nginx(8)
    Main PID: 9919 (nginx)
        Tasks: 2 (limit: 2327)
      Memory: 2.9M
          CPU: 50ms
      CGroup: /system.slice/nginx.service
                 ├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
                 └─9920 "nginx: worker process"
bash

Criar arquivo de configuração e adaptar servidor

Agora, configure seu server block para preparar o NGINX reverse proxy para seu sistema. Para fazer isso, crie e acesse um novo arquivo de configuração usando o editor de texto Nano. Insira o comando a seguir, substituindo o placeholder “seu_dominio” pelo nome do seu domínio:

$ sudo nano /etc/nginx/sites-available/seu_dominio
bash

Após abrir o arquivo, adicione o código a seguir. Substitua os placeholders “seu_dominio” e “endereco_servidor” pelo domínio e IP ou soquete de domínio Unix do seu servidor:

server {
    listen 80;
    listen [::]:80;
    server_name seu_dominio www.seu_dominio;
        
    location / {
        proxy_pass http://endereco_servidor;
        include /etc/nginx/proxy_params;
    }
}
txt

Salve e feche o arquivo. O conteúdo acima é a configuração padrão do NGINX. Ela usa a porta 80 para responder às solicitações do seu domínio e servidor. proxy_pass é um componente essencial na função do NGINX reverse proxy. Você também pode configurar servidores adicionais, se necessário.

Em seguida, crie um link para o diretório sites-enabled, que é acessado inicialmente pelo NGINX. Use este comando, substituindo o placeholder “seu_dominio”:

$ sudo ln -s /etc/nginx/sites-enabled/seu_dominio, não /etc/nginx/sites-enabled/
bash

Verifique se há erros de configuração:

$ sudo nginx -t
bash

Se você não receber nenhuma mensagem de erro, reinicie o NGINX reverse proxy para aplicar as configurações. Para fazer isso, insira o seguinte comando:

$ sudo systemctl restart nginx
bash

Pronto! Você terminou de configurar o NGINX reverse proxy. Na próxima seção, explicaremos como verificar o funcionamento do proxy com um teste opcional.

Verificar NGINX reverse proxy com Gunicorn

Você pode usar seu próprio servidor se quiser testar seu NGINX reverse proxy. Para fazer isso, abra-o usando o shell. Outra alternativa é usar o servidor web HTTP Gunicorn, que funciona muito bem com o NGINX reverse proxy. Primeiro, faça a atualização dos pacotes e instale o servidor:

$ sudo apt update
$ sudo apt install gunicorn
bash

Depois, crie uma função simples que será enviada como resposta HTTP ao seu navegador. Para fazer isso, use o editor Nano mais uma vez:

$ nano test.py
bash

Abra o arquivo e insira o código a seguir:

def app(environ, start_response): 
    start_response("200 OK", []) 
    return iter([b"Novo teste"])
txt

Depois, salve e feche o arquivo. Em seguida, acesse o Gunicorn e abra o módulo de teste:

$ gunicorn --worker=2 test:app
bash

O resultado será similar a este:

[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1:8000 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570
bash

Essa é a confirmação de que o Gunicorn está interagindo com o endereço http://127.0.0.1:8000. Para finalizar, abra seu navegador e acesse o domínio que você configurou com o NGINX. O NGINX reverse proxy exibirá a mensagem “Novo teste”.

Este artigo foi útil?
Ir para o menu principal