Proxy reverso do Sparrow (porta 7444)
Hoje o proxy é mínimo — só roteia por domínio e forwarda requisições. Precisa de funcionalidades de proxy de produção compatíveis com Traefik/Nginx.
1. HTTPS com Let's Encrypt (ACME)
- Auto-provisionamento de certificados via ACME
- Proxy (7444) servindo HTTPS
- Auto-renewal em background
- Suporte a TLS nas rotas (
tls: true)
2. Autenticação nas rotas
- Basic Auth por rota (usuário/senha com bcrypt)
- Bearer token validation
- Cabeçalho
Authorizationforwarding opcional
3. Middleware pipeline
- Sistema de middleware estilo chain por rota
- Headers custom (CSP, X-Frame-Options, HSTS, etc.)
- Rate limiting por rota/domínio
- Rewrite de paths
- Redirect HTTP → HTTPS
4. Configuração declarativa
routes:- domain:app.internalservice:myappport:3000tls:trueauth:basic:username:adminpassword_hash:"2ドルy10ドル$..."rate_limit:100/minheaders:X-Frame-Options:DENYStrict-Transport-Security:max-age=315360005. Health check nos backends
- Verificar se container está respondendo antes de rotear
- Remover da rota se falhar (circuit breaker simples)
## Proxy reverso do Sparrow (porta 7444)
Hoje o proxy é mínimo — só roteia por domínio e forwarda requisições. Precisa de funcionalidades de proxy de produção compatíveis com Traefik/Nginx.
---
### 1. HTTPS com Let's Encrypt (ACME)
- Auto-provisionamento de certificados via ACME
- Proxy (7444) servindo HTTPS
- Auto-renewal em background
- Suporte a TLS nas rotas (`tls: true`)
### 2. Autenticação nas rotas
- Basic Auth por rota (usuário/senha com bcrypt)
- Bearer token validation
- Cabeçalho `Authorization` forwarding opcional
### 3. Middleware pipeline
- Sistema de middleware estilo chain por rota
- Headers custom (CSP, X-Frame-Options, HSTS, etc.)
- Rate limiting por rota/domínio
- Rewrite de paths
- Redirect HTTP → HTTPS
### 4. Configuração declarativa
```yaml
routes:
- domain: app.internal
service: myapp
port: 3000
tls: true
auth:
basic:
username: admin
password_hash: "2ドルy10ドル$..."
rate_limit: 100/min
headers:
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000
```
### 5. Health check nos backends
- Verificar se container está respondendo antes de rotear
- Remover da rota se falhar (circuit breaker simples)