Instalação do Nginx Proxy Manager - Guia de configuração de 2 minutos
Seus serviços atualmente residem em endereços feios como 192.168.1.50:8080. O Nginx Proxy Manager os transforma em nomes limpos como app.yourdomain.com com HTTPS gratuito - instalado com um arquivo Docker Compose e gerenciado a partir de um painel da web simples em vez de arquivos de configuração escritos à mão.
📑Capítulos
- O que um proxy reverso faz: uma porta para todos os seus serviços
- O que você precisa antes de começar: Docker, um domínio e portas acessíveis
- Aponte o DNS do seu domínio para o servidor antes de instalar qualquer coisa
- Crie a pasta e o arquivo docker-compose.yml
- Inicie o Nginx Proxy Manager com um comando
- Primeiro login - a etapa da conta de administrador que todos erram
- Crie seu primeiro host proxy, campo por campo
- Obtenha o certificado Lets Encrypt HTTPS gratuito e ative o Force SSL
📋 Visão geral e guia passo a passo
O que você precisa antes de começar
Três coisas devem existir antes que o Nginx Proxy Manager (NPM) possa funcionar. Primeiro, um servidor Linux ou PC com Docker e Docker Compose já instalados e funcionando – o NPM roda como um contêiner, não como um programa normal. Segundo, um nome de domínio cujo DNS você pode editar, porque cada serviço recebe seu próprio subdomínio. Terceiro, seu roteador ou firewall em nuvem deve ser capaz de encaminhar as portas 80 e 443 para esta máquina.
Aponte o DNS do seu domínio para o servidor primeiro
O NPM roteia o tráfego por nome e o Lets Encrypt emite certificados apenas para nomes que provavelmente apontam para sua máquina - portanto, o nome deve ser resolvido antes de você criar qualquer coisa nele. No seu registrador ou host DNS, adicione um registro A: o Nome é apenas a palavra do subdomínio (por exemplo app) e o Valor é o endereço IP público do seu servidor. Cada serviço recebe seu próprio registro e todos podem apontar para o mesmo IP - o NPM separa os serviços posteriormente, por nome. Defina um TTL curto, como 300 segundos durante o teste, para que os erros desapareçam em minutos em vez de horas.
Prove antes de continuar: verifique se o nome é resolvido para o seu IP público de uma rede externa (por exemplo, do seu telefone com o Wi-Fi desligado). Solicitar um certificado contra DNS quebrado desperdiça tentativas de criptografia, e falhas repetidas podem limitar sua taxa por horas. A ordem é importante: DNS primeiro, host proxy em segundo, certificado em terceiro.
Crie a pasta e o arquivo de composição
Crie uma pasta para NPM no servidor e salve o arquivo abaixo dentro dela como docker-compose.yml. Este único arquivo é a instalação completa. O nome da imagem é a imagem oficial da comunidade. As portas 80 e 443 são as portas públicas, a porta 81 é o painel de administração e os dois volumes são onde reside toda a sua configuração: ./data mantém o banco de dados com todos os seus hosts proxy e ./letsencrypt mantém seus certificados. Perca essas duas pastas e você perderá toda a configuração - faça backup delas quando tudo estiver funcionando.
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
A linha restart: except-stopped traz o NPM de volta automaticamente após uma reinicialização.
Inicie o gerenciador de proxy Nginx
De dentro dessa pasta, execute o comando start. O Docker baixa a imagem e inicia o contêiner em segundo plano.
docker compose up -d
Verifique se está funcionando:
docker ps
Você deverá ver o contêiner listado com as portas 80, 443 e 81. Em um servidor pequeno, a primeira inicialização leva um ou dois minutos enquanto o banco de dados é criado. Se o contêiner continuar reiniciando, os logs mostrarão o motivo em linguagem simples:
docker compose logs
Nove em cada dez vezes, um loop de reinicialização é uma porta já usada por outra coisa no host - geralmente um servidor web antigo ainda em execução.
Primeiro login – proteja a conta de administrador imediatamente
Abra o painel de administração em um navegador na sua própria rede:
http://your-server-ip:81
Faça isso no primeiro minuto. Dependendo da compilação, o NPM solicita que você substitua os dados conhecidos do administrador de primeiro login por seu próprio e-mail e uma senha forte ou - em compilações mais recentes sem conta padrão - a primeira pessoa a abrir a página de administração cria o administrador. De qualquer forma, a regra é a mesma: configure sua própria conta de administrador no momento em que o contêiner for iniciado, antes de criar qualquer outra coisa, e use uma caixa de correio real - e-mails NPM que tratam de problemas de certificado.
Crie seu primeiro host proxy
No NPM, abra Hosts → Hosts Proxy → Adicionar Host Proxy e preencha o formulário como uma frase - "este nome vai para aquele serviço interno":
Nomes de domínio: app.seudominio.com - o nome público exato da Etapa 2, que já deve ser resolvido para seu servidor.
Esquema: http para a maioria dos aplicativos domésticos e de escritório. O esquema descreve a conexão entre o NPM e o serviço interno, não o que os visitantes usam - o NPM lida com a criptografia pública na porta. Escolha https aqui somente quando o próprio aplicativo interno servir HTTPS.
Forward Hostname / IP: o endereço interno do serviço, por exemplo 192.168.1.50.
Porta de encaminhamento: a porta em que o serviço realmente escuta, por exemplo 8080 - não 80 ou 443; essas são as portas do NPM, não do serviço.
Ative Bloquear explorações comuns e salve. Teste imediatamente abrindo o nome em um navegador – de preferência em seu telefone com o Wi-Fi desligado, para testar o caminho público real.
localhost está errado (dentro do contêiner do NPM, localhost significa o próprio NPM) - use o IP da LAN do servidor com a porta publicada ou coloque os dois contêineres na mesma rede Docker e use o nome do contêiner.Obtenha o certificado HTTPS grátis para criptografar
Faça isso somente depois que o host simples da Etapa 6 já funcionar - HTTPS em um host quebrado fornece um host quebrado com um certificado e o dobro de locais para procurar a falha. Abra o mesmo host proxy, vá para a guia SSL, defina Certificado SSL como Solicitar um novo certificado SSL, ative Forçar SSL e Suporte HTTP/2, concorde com os Termos de Serviço do Lets Encrypt e salve. Recarregue o site – o navegador agora deve mostrar o cadeado em https.
Como funciona: o Lets Encrypt prova que você controla o nome solicitando ao seu servidor, pela Internet pública na porta 80, que mostre um token único (o desafio HTTP-01). É por isso que o DNS apontando para você e uma porta acessível 80 não são negociáveis - falhe em qualquer um deles e a solicitação falha, e o erro está na configuração, nunca no Lets Encrypt. Forçar SSL redireciona todos os visitantes http para https automaticamente; sem ela, a porta não criptografada permanece aberta ao lado da porta criptografada.
🏷️Variáveis e palavras-chave de pesquisa de tópico
🎙️ Transcrição completa – toque para expandir
__TOK_34__
__TOK_35__
__TOK_36__
❓ Perguntas frequentes
Este tutorial é 100% gratuito para seguir?
__TOK_37__
Os iniciantes podem seguir este guia?
__TOK_38__
Onde posso fazer perguntas se tiver dúvidas?
__TOK_39__