1
0
Fork
You've already forked sparrow
0

Proxy reverso completo: HTTPS, Let's Encrypt, autenticação, middlewares #2

Open
opened 2026年06月21日 04:17:56 +02:00 by andeerc · 1 comment

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

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=31536000

5. 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)
andeerc changed title from (削除) Proxy reverso completo: HTTPS, Let's Encrypt, autenticacao, middlewares (削除ここまで) to Proxy reverso completo: HTTPS, Let's Encrypt, autenticação, middlewares 2026年06月21日 04:18:58 +02:00
Author
Owner
Copy link

@opencode veja a viabilidade disso, se vale a pena ou não

@opencode veja a viabilidade disso, se vale a pena ou não
Sign in to join this conversation.
No Branch/Tag specified
main
v0.9.6
v0.9.5
v0.9.4
v0.9.2
v0.9.3
v0.9.1
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
andeerc/sparrow#2
Reference in a new issue
andeerc/sparrow
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?