Login
Login

Como expor serviços com o Nginx Proxy Manager

Como expor serviços com o Nginx Proxy Manager
Adnene Mabrouk
Redator técnico
Servidor web – Nginx
26.01.2026
Reading time: 7 min

O que é o Nginx Proxy Manager?

O Nginx Proxy Manager é uma interface fácil de usar para gerenciar reverse proxies. Ele simplifica o processo de roteamento de tráfego para diferentes serviços, tornando-o acessível até mesmo para usuários sem conhecimento avançado em redes. Ao fornecer uma interface gráfica (GUI) sobre o Nginx, essa ferramenta permite configurar e gerenciar rapidamente proxy hosts, certificados SSL e diversas configurações avançadas, sem a necessidade de lidar com operações complexas na linha de comando.

Instalação do Nginx Proxy Manager

A instalação do Nginx Proxy Manager é simples graças ao Docker. A seguir está um guia passo a passo para colocá-lo em funcionamento:

Pré-requisitos

  • Ter o Docker e o Docker Compose instalados no seu servidor em nuvem

  • Ter um conhecimento básico dos comandos do Docker

Passos de instalação

Crie um diretório para o Nginx Proxy Manager e acesse-o:

mkdir nginx-proxy-manager

cd nginx-proxy-manager

Crie um arquivo docker-compose.yml com o seguinte conteúdo:

version: '3'

services:

  app:

    image: 'jc21/nginx-proxy-manager:latest'

    restart: always

    ports:

      - '80:80'

      - '81:81'

      - '443:443'

    environment:

      DB_MYSQL_HOST: "db"

      DB_MYSQL_PORT: 3306

      DB_MYSQL_USER: "npm"

      DB_MYSQL_PASSWORD: "npm"

      DB_MYSQL_NAME: "npm"

    volumes:

      - ./data:/data

      - ./letsencrypt:/etc/letsencrypt

  db:

    image: 'mysql:5.7'

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: 'npm'

      MYSQL_DATABASE: 'npm'

      MYSQL_USER: 'npm'

      MYSQL_PASSWORD: 'npm'

    volumes:

      - ./data/mysql:/var/lib/mysql

Inicie os contêineres:

docker-compose up -d

Acesse o Nginx Proxy Manager pelo endereço IP do seu servidor na porta 81 (por exemplo, http://localhost:81).

Configuração inicial do Nginx Proxy Manager

Após a instalação, é hora de realizar a configuração inicial:

Login:
Abra o navegador e acesse http://<ip-do-seu-servidor>:81. As credenciais padrão são:

  • E-mail: admin@example.com

  • Senha: changeme

Alterar credenciais padrão:
Atualize imediatamente o e-mail e a senha para garantir a segurança do Nginx Proxy Manager.

Visão geral do painel:
O painel fornece uma visão geral dos seus proxy hosts, certificados SSL e outras configurações. Familiarize-se com a interface.

Configuração de um novo proxy host

Para expor um serviço, é necessário configurar um novo proxy host. Veja como:

Adicionar um novo proxy host

  • Vá até a seção “Proxy Hosts”

  • Clique em “Add Proxy Host”

Inserir nomes de domínio:
Informe os domínios que deseja associar a este serviço. É possível adicionar vários domínios separando-os por vírgulas.

Hostname/IP e porta de destino:
Informe o endereço IP interno e a porta do serviço que será exposto.
Exemplo: se o serviço web estiver rodando na porta 8080, informe 192.168.1.100 e 8080.

Opções:

  • Marque “Block Common Exploits” para adicionar uma camada extra de segurança

  • Ative “Websockets Support” se o serviço exigir

SSL:
Você pode usar um certificado SSL existente ou solicitar um novo por meio do Let’s Encrypt.

Salvar:
Clique em “Save” para finalizar a configuração do proxy host.

Gerenciamento de certificados SSL

Os certificados SSL são essenciais para proteger seus serviços. O Nginx Proxy Manager simplifica esse processo:

Solicitar um novo certificado SSL:

  • Acesse a seção “SSL Certificates”

  • Clique em “Add SSL Certificate”

  • Selecione “Let’s Encrypt” e informe os dados necessários, como e-mail e domínio

Renovação automática:
O Nginx Proxy Manager renova automaticamente os certificados do Let’s Encrypt, garantindo a segurança dos serviços sem intervenção manual.

Certificados personalizados:
Caso possua um certificado SSL próprio, você também pode enviá-lo nesta seção.

Opções avançadas de configuração

O Nginx Proxy Manager oferece várias opções avançadas para ajustar sua configuração:

Listas de acesso (Access Lists):

  • Restrinja o acesso aos serviços criando listas de acesso

  • Permita ou bloqueie tráfego com base em endereços IP

Hosts de redirecionamento (Redirection Hosts):

  • Configure facilmente redirecionamentos de um domínio para outro

Stream Hosts:

  • Utilize o recurso de stream para gerenciar tráfego TCP/UDP, como serviços SSH ou FTP

Configuração personalizada do Nginx:

  • Adicione diretivas personalizadas do Nginx caso o serviço exija configurações específicas

Expondo serviços: guia passo a passo

Expor um serviço usando o Nginx Proxy Manager envolve alguns passos:

  1. Identificar o serviço:
    Determine o IP interno e a porta do serviço que será exposto.

  2. Criar um proxy host:
    Siga os passos descritos na seção “Configuração de um novo proxy host”.

  3. Habilitar SSL:
    Solicite um certificado SSL para o domínio associado ao serviço.

  4. Testar a configuração:
    Acesse o serviço usando o domínio para garantir que tudo esteja funcionando corretamente.

  5. Monitorar e ajustar:
    Verifique regularmente o desempenho do serviço e ajuste as configurações conforme necessário.

Monitoramento e logs

O Nginx Proxy Manager inclui recursos integrados de monitoramento e registro:

Logs:

  • Acesse os logs pela seção “Logs”

  • Os logs incluem informações detalhadas sobre as requisições recebidas, como endereços IP, caminhos solicitados e status das respostas

Monitoramento:

  • Utilize o painel para acompanhar o status dos proxy hosts e dos certificados SSL

  • Certifique-se de que os certificados SSL estejam atualizados e que todos os serviços estejam funcionando corretamente

Solução de problemas comuns

Erros de certificado SSL:

  • Verifique se o domínio está corretamente apontado para o IP do servidor

  • Confirme que as portas 80 e 443 estão abertas e acessíveis

502 Bad Gateway:

  • Verifique se o serviço exposto está em execução e acessível internamente

  • Confirme se o IP interno e a porta configurados estão corretos

Timeout de conexão:

  • Revise as configurações do firewall para garantir que o tráfego não esteja sendo bloqueado

  • Teste a conectividade entre o servidor e o serviço

Conclusão

O Nginx Proxy Manager simplifica significativamente o processo de exposição de serviços, sendo uma excelente ferramenta tanto para iniciantes quanto para usuários experientes. Com sua interface intuitiva e recursos poderosos, é possível configurar rapidamente reverse proxies, proteger serviços com certificados SSL e solucionar problemas de forma eficiente. Seguindo os passos deste guia, você estará apto a gerenciar e expor serviços com eficiência usando o Nginx Proxy Manager.

Servidor web – Nginx
26.01.2026
Reading time: 7 min

Semelhante

Servidor web – Nginx

Exemplos da diretiva location no Nginx

A diretiva location do Nginx é uma ferramenta poderosa para controlar como diferentes tipos de requisições são processados. Ao definir regras em blocos location, você pode aplicar configurações específicas, redirecionar tráfego para diferentes partes da aplicação ou até bloquear completamente determinadas requisições. O uso correto dessa diretiva permite um gerenciamento eficiente das solicitações, o que é essencial para melhorar o desempenho, a segurança e a funcionalidade de aplicações web. Sintaxe básica da diretiva location A diretiva location é definida no arquivo de configuração nginx.conf: location [modifier] uri { ... } modifier: parâmetro opcional que define o tipo de correspondência (exata, prefixo, expressão regular etc.) uri: a URI que será comparada Dentro das chaves, você pode definir diversas diretivas como proxy_pass, root ou index. Exemplo de correspondência exata Uma correspondência exata ocorre quando a string fornecida coincide exatamente com a URI solicitada. location = /exact-match {     root /var/www/html;     index index.html; } Somente requisições para /exact-match serão processadas por este bloco. Você também pode adicionar condições usando if (observe que o Nginx não possui um if-else tradicional): location = /exact-match {     root /var/www/html;     index index.html;     if ($http_user_agent ~* "Chrome") {         add_header X-Browser "Chrome";     } } Se o agente do usuário for identificado como Chrome, a resposta incluirá o cabeçalho adicional X-Browser. Exemplo de correspondência por prefixo É o tipo mais comum e corresponde a qualquer URI que comece com a string especificada. location /prefix {     root /var/www/html;     index index.html;     if ($request_method = POST) {         return 405;     } } Este bloco processará solicitações como /prefix/page1 ou /prefix/page2. Caso o método seja POST, o Nginx retorna 405 Method Not Allowed. Exemplo com expressões regulares Para cenários mais complexos, expressões regulares são úteis. Curingas comuns: . – corresponde a um único caractere .* – corresponde a qualquer sequência ^ – início da string $ – fim da string location ~* \.php$ {     fastcgi_pass 127.0.0.1:9000;     fastcgi_index index.php;     include fastcgi_params;     if ($request_uri ~* "/admin") {         return 403;     }     if ($request_uri !~* "/admin") {         add_header X-Admin "Not Admin";     } } Explicação: ~* indica regex sem distinção entre maiúsculas/minúsculas \.php$ corresponde a arquivos PHP se a URI contiver /admin, retorna 403 caso contrário, adiciona o header X-Admin Correspondência sem distinção de maiúsculas location ~* \.jpg$ {     root /var/www/images;     if ($http_referer !~* "^https?://(www\.)?example\.com") {         return 403;     } } Corresponde a .jpg, .JPG etc., e só serve imagens se o referer vier de example.com. Prioridade e ordem O Nginx avalia os blocos assim: Correspondência exata (=) Expressões regulares (~, ~*) em ordem de definição Prefixos (/), onde o mais longo tem prioridade Exemplo: location = /exact { } location ~* \.jpg$ { } location / { } Blocos location aninhados location /nested {     location /nested/subnested {         root /var/www/html;     }     root /var/www/html; } Solicitações para /nested/subnested usam o bloco interno. Exemplo real de servidor web server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } location = /about { root /var/www/html; index about.html; } location /api { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } location ~* \.(jpg|jpeg|png|gif|ico)$ { root /var/www/images; } location /admin { root /var/www/admin; index index.html; location /admin/stats { proxy_pass http://localhost:8080/stats; } } } Recarregar o Nginx sudo systemctl reload nginx Testes e depuração Validar configuração: sudo nginx -t Testar rotas: curl -I http://localhost/about curl -X POST http://localhost/prefix/form curl -H "User-Agent: Chrome" http://localhost/exact-match Ver logs: tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log Restringindo acesso a rotas sensíveis location /admin {     allow 192.168.1.100;     deny all; } Somente esse IP terá acesso. root vs alias Diretiva Comportamento root acrescenta a URI alias substitui o prefixo Exemplo: location /files/ {     alias /data/downloads/; } Nota: sempre finalize alias com /. Conclusão Compreender bem a diretiva location é fundamental para controlar corretamente o processamento de requisições. Os diferentes tipos de correspondência — exata, prefixo e regex — possuem prioridades distintas e impactam diretamente o desempenho e comportamento do site. Ao dominar esses padrões e utilizar blocos aninhados, você pode criar configurações Nginx limpas, eficientes e seguras.
09 February 2026 · 5 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support