NgixProxy_Pathfinder/README.md

83 lines
2.2 KiB
Markdown

# 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:
```bash
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:
```yaml
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
```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*