NgixProxy_Pathfinder/README.md

2.8 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.
  • Métricas: Suporte nativo a Prometheus habilitado por padrão.
  • 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


📊 Monitoramento (Zabbix)

O Traefik está configurado para exportar métricas no formato Prometheus. Para monitorar no Zabbix:

  1. Host: Adicione o host do Traefik no Zabbix.
  2. Template: Use o template oficial "Traefik by HTTP" (que utiliza Prometheus internamente).
  3. Endpoint: As métricas estão disponíveis em http://IP_DO_PROXY:8080/metrics.
  4. Macros: Se necessário, ajuste a macro {$TRAEFIK.METRICS.PATH} para /metrics.

-mermaid +mermaid 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*