Como instalar o NGINX Reverse Proxy no Ubuntu 22.04
Utilizar o NGINX como proxy reverso é uma opção muito popular e recomendável. Para o configurar, basta instalar o NGINX, criar um ficheiro de configuração e ajustar as definições do servidor. Por fim, pode verificar se tudo funciona corretamente utilizando o Gunicorn.
Passos para instalar o NGINX como proxy reverso no Ubuntu 22.04
Para dispor de um servidor web seguro, flexível e eficiente na utilização de recursos, é recomendável utilizar um proxy reverso. Este é colocado entre o cliente e o servidor web, sem que os utilizadores se apercebam da sua presença. Uma das melhores opções para gerir todas as solicitações recebidas é o NGINX como proxy reverso. A seguir, explicamos-lhe como instalá-lo e configurá-lo no Ubuntu 22.04.
Requisitos para uma instalação correta
Para instalar um proxy reverso NGINX no Ubuntu 22.04, é necessário o seguinte:
- ter um servidor Ubuntu instalado,
- o endereço IP ou o domínio Unix do servidor,
- o domínio do seu servidor,
- privilégios de nível
sudopara o servidor.
Instalar o NGINX como proxy reverso
Atualize o seu repositório através do terminal, como primeiro passo para ter acesso aos pacotes mais recentes. Em seguida, instale o NGINX utilizando o comando apt install. Digite-o da seguinte forma:
$ sudo apt update
$ sudo apt install nginxbashConfirme com [Y] e prima [Enter] para aplicar as alterações.
Em seguida, configure o seu firewall para que o NGINX tenha acesso ao seu servidor. Para tal, deve adicionar uma exceção com o seguinte comando:
$ sudo ufw allow 'Nginx HTTP'bashPor fim, verifique se a instalação do NGINX foi realizada corretamente. Este é o código que deve utilizar para o efeito:
$ systemctl status nginxbashSe o NGINX tiver sido instalado corretamente, obterá um resultado semelhante a este:
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 um ficheiro de configuração e personalizar o servidor
Em seguida, configura o teu servidor para preparar corretamente o NGINX Reverse Proxy para o teu sistema. Para tal, abre um novo ficheiro de configuração com o editor de texto nano. Utiliza o seguinte comando, substituindo «tu_dominio» pelo nome real do teu domínio:
$ sudo nano /etc/nginx/sites-available/tu_dominiobashAssim que o ficheiro estiver aberto, adicione o seguinte conteúdo. Substitua os marcadores «tu_dominio» e «server_adresse» pelo seu domínio e pelo endereço IP ou pelo Unix Domain Socket do seu servidor:
server {
listen 80;
listen [::]:80;
server_name tu_dominio www.tu_dominio;
location / {
proxy_pass http://server_adresse;
include /etc/nginx/proxy_params;
}
}txtGuarde e feche o ficheiro. O conteúdo apresentado corresponde à configuração padrão do NGINX, que utiliza a porta 80 para responder aos pedidos do seu domínio e servidor. A diretiva proxy_pass é fundamental para que o NGINX funcione como um proxy reverso. Se necessário, também pode configurar servidores adicionais.
Em seguida, crie um link para o diretório sites-enabled, ao qual o NGINX acede inicialmente. Utilize este comando, substituindo novamente o marcador “tu_dominio” pelo nome correspondente:
$ sudo ln -s /etc/nginx/sites-available/ihre_domain/etc/nginx/sites-enabled/bashVerifique se não há erros na configuração:
$ sudo nginx -tbashSe não receber nenhuma mensagem de erro, pode reiniciar o NGINX Reverse Proxy para aplicar todas as alterações. Para tal, introduza o seguinte comando:
$ sudo systemctl restart nginxbashCom isto, o NGINX já estará configurado como proxy reverso. Na secção seguinte, explicamos como verificar o proxy, mas trata-se de um passo que não é obrigatório para concluir a configuração.
Verificar o proxy reverso NGINX com o Gunicorn
Para testar o NGINX Reverse Proxy, pode sempre utilizar o seu servidor acedendo-lhe através do shell. Em alternativa, pode utilizar o servidor web HTTP Gunicorn, que se complementa muito bem com o NGINX Reverse Proxy. Em primeiro lugar, atualize os pacotes e instale o servidor:
$ sudo apt update
$ sudo apt install gunicornbashEm seguida, crie uma função simples que será enviada como resposta HTTP para o seu navegador. Para isso, utilize novamente o nano:
$ nano test.pybashAbra o ficheiro e introduza este código:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"Esto es una prueba"])txtGuarde e feche o ficheiro. Em seguida, inicie o Gunicorn e aceda ao módulo de teste:
$ gunicorn --worker=2 test:appbashO resultado deverá ficar assim:
[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 (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: 10570bashAssim, o Gunicorn está a interagir com o endereço padrão http://127.0.0.1:8000. No último passo, abra o seu navegador e aceda ao domínio que configurou com o NGINX. O NGINX Reverse Proxy deverá apresentar a mensagem «Isto é um teste».