Tutorial: Como configurar o NGINX reverse proxy no Ubuntu 22.04
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.
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
sudopara 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 nginxbashPressione [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'bashEm seguida, verifique se a instalação foi bem-sucedida:
$ systemctl status nginxbashSe 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"bashCriar 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_dominiobashApó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;
}
}txtSalve 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/bashVerifique se há erros de configuração:
$ sudo nginx -tbashSe 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 nginxbashPronto! 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 gunicornbashDepois, 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.pybashAbra o arquivo e insira o código a seguir:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"Novo teste"])txtDepois, salve e feche o arquivo. Em seguida, acesse o Gunicorn e abra o módulo de teste:
$ gunicorn --worker=2 test:appbashO 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: 10570bashEssa é 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”.

