NgixProxy_Pathfinder/README.md

2.2 KiB

NGINX Pathfinder Proxy (Migrated to Traefik)

Solução moderna de Proxy Reverso containerizado, agora utilizando Traefik para maior automação, suporte nativo a Docker e SSL gerenciado via Let's Encrypt.

🚀 Funcionalidades

🛡️ Traefik Proxy

  • SSL Automatizado: Let's Encrypt nativo com renovação automática.
  • Auto-Discovery: Detecta automaticamente novos containers Docker com labels específicos.
  • Dashboard: Interface visual para monitoramento de rotas e serviços.
  • Logs em JSON: Ideal para integração com stacks de monitoramento (ELK, Loki).

Performance & Flexibilidade

  • HTTP/2 & HTTP/3: Suporte a protocolos modernos.
  • Roteamento Dinâmico: Configuração de backends externos (VMs/LXC) via arquivo dinâmico.

🛠️ Como Trabalhar neste Repositório

Pré-requisitos

  • Docker & Docker Compose instalados.
  • Portas 80 e 443 liberadas.

1. Implantar o Proxy (Portainer/Docker Compose)

  1. Certifique-se de que os arquivos traefik.yml e dynamic_conf.yml estão presentes.
  2. Crie o arquivo de certificados: touch acme.json && chmod 600 acme.json.
  3. Inicie os containers:
    docker compose up -d
    

2. Adicionar um Novo Site (Backend Externo)

Edite o arquivo dynamic_conf.yml para adicionar novas rotas para servidores fora do Docker.

Exemplo de rota:

http:
  routers:
    meu-site:
      rule: "Host(`meu-site.com.br`)"
      service: meu-servidor
      entryPoints: [websecure]
      tls: { certResolver: letsencrypt }
  services:
    meu-servidor:
      loadBalancer:
        servers:
          - url: "http://IP_DO_SERVIDOR"

3. Dashboard do Traefik

Acesse o dashboard interno para verificar o status das rotas:

  • URL: http://localhost:8080/dashboard/

🏗️ Visão Geral da Stack

graph TD
    Client[Cliente Externo] -->|":80 / :443"| Traefik
    
    subgraph DockerHost["Docker Host"]
        Traefik[Traefik Proxy]
        App1[Container A]
        App2[Container B]
    end
    
    subgraph External["Rede Externa (LXC/VM)"]
        Gitea[Gitea Server]
        Zammad[Zammad Server]
    end
    
    Traefik --> App1
    Traefik --> App2
    Traefik --> Gitea
    Traefik --> Zammad

Mantido por IT Guys