Deployment e HTTPS
Deployment e HTTPS
O PgArachne foi projetado para fazer uma coisa bem: API Gateway. Para SSL/TLS (HTTPS), segurança de cabeçalhos e roteamento público, você deve colocar um Proxy Reverso na frente dele.
Opção A: Caddy Server
Melhor para: Deployments de produção modernos, facilidade de uso.
Caddy é o único servidor web que obtém e renova certificados SSL (Let's Encrypt) automaticamente por padrão. Requer quase zero configuração.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Opção B: Nginx
Melhor para: Ambientes corporativos, roteamento complexo.
Nginx é o padrão da indústria para balanceamento de carga de alta performance. Utilize esta opção se você já possui uma infraestrutura Nginx. Será necessário gerenciar o Certbot manualmente.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Opção C: Ngrok
Melhor para: Desenvolvimento local, demos, testes de webhook.
Ngrok cria um túnel seguro da internet pública diretamente para o seu computador local sem configurar firewalls. Ideal para apresentar seu trabalho aos colegas instantaneamente.
./ngrok http 8080Checklist de produção
- Encerre o TLS no proxy reverso e encaminhe
X-Forwarded-ProtoeX-Forwarded-For. - Defina
TRUSTED_PROXIESno PgArachne com os intervalos IP/CIDR dos seus proxies. - Desative o buffering nas rotas SSE e use timeouts de leitura suficientemente longos para streaming.
- Exponha as métricas apenas internamente (padrão
127.0.0.1:9090) e faça scrape pela rede de monitoramento.
Exemplo de hardening Nginx (SSE + cabeçalhos encaminhados)
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /sse/ {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_read_timeout 1h;
}