Technical Anshu Home › Tutoriais › Instalação do Nginx Proxy Manager
🐳 Proxy reverso Docker

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.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Instalação do Nginx Proxy Manager - Guia de configuração de 2 minutos
🎧 Áudio Multilíngue: No player de vídeo, clique em [Configurações] (⚙️) ➔ [Faixa de áudio] para selecionar seu idioma.

📑Capítulos

  1. O que um proxy reverso faz: uma porta para todos os seus serviços
  2. O que você precisa antes de começar: Docker, um domínio e portas acessíveis
  3. Aponte o DNS do seu domínio para o servidor antes de instalar qualquer coisa
  4. Crie a pasta e o arquivo docker-compose.yml
  5. Inicie o Nginx Proxy Manager com um comando
  6. Primeiro login - a etapa da conta de administrador que todos erram
  7. Crie seu primeiro host proxy, campo por campo
  8. Obtenha o certificado Lets Encrypt HTTPS gratuito e ative o Force SSL

📋 Visão geral e guia passo a passo

1

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.

📌 Sobre os "2 minutos" no título: o início do contêiner em si é genuinamente rápido - mas apenas quando o Docker já estiver instalado e a preparação neste guia estiver concluída. Em uma máquina nova, reserve o tempo adequado para as etapas de configuração, DNS e certificado; o total honesto é superior a dois minutos.
⚠️ Em uma conexão doméstica atrás de CGNAT, o encaminhamento de porta não funciona - nenhuma configuração dentro do NPM corrige isso. As opções honestas são um IP público/estático do seu ISP, um pequeno VPS alugado ou uma ferramenta de túnel. Não pule esta verificação: metade de todas as histórias de “NPM não funciona” são, na verdade, histórias de “as portas nunca chegaram ao servidor”.
2

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.

3

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.

docker-compose.yml
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.

4

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.

Terminal
docker compose up -d

Verifique se está funcionando:

Terminal
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:

Terminal
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.

5

Primeiro login – proteja a conta de administrador imediatamente

Abra o painel de administração em um navegador na sua própria rede:

Browser Address Bar
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.

⚠️ Nunca deixe a porta 81 publicamente acessível enquanto você "termina mais tarde". Qualquer pessoa na Internet que encontrar o painel primeiro será proprietária do seu proxy. Mantenha o painel de administração apenas na sua rede.
6

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.

✅ Um 502 Bad Gateway do NPM é uma sinalização, não uma falha: significa que o mundo externo alcançou o NPM perfeitamente e apenas o último salto interno - nome do host ou porta - está errado. Corrija esse campo, não toda a configuração. Mais uma armadilha: se o serviço for executado em outro contêiner Docker, 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.
7

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.

📌 Os certificados duram 90 dias e o NPM os renova automaticamente, normalmente cerca de um mês antes do vencimento, usando a mesma prova da porta 80. Se uma renovação falhar, verifique primeiro as causas chatas: o DNS foi alterado, o encaminhamento do roteador foi removido ou a porta 80 foi bloqueada. Habilite o HSTS apenas quando um serviço for liquidado e as renovações forem comprovadas - é uma forte promessa que os navegadores lembram por meses.

🏷️Variáveis e palavras-chave de pesquisa de tópico

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ 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__

🚀 Assista ao tutorial completo no YouTube

__TOK_40__

__TOK_41__

▶️ Assista ao vídeo completo
Este tutorial é baseado no vídeo de instalação do Nginx Proxy Manager da Technical Anshu • Travou em alguma etapa? Pergunte nos comentários do vídeo – você receberá ajuda lá 🙏