2.8 KiB
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)
- Certifique-se de que os arquivos
traefik.ymledynamic_conf.ymlestão presentes. - Crie o arquivo de certificados:
touch acme.json && chmod 600 acme.json. - 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:
- Host: Adicione o host do Traefik no Zabbix.
- Template: Use o template oficial "Traefik by HTTP" (que utiliza Prometheus internamente).
- Endpoint: As métricas estão disponíveis em
http://IP_DO_PROXY:8080/metrics. - 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*