Despliegue y HTTPS
PgArachne está diseñado para realizar bien una sola tarea: API Gateway. Para SSL/TLS (HTTPS), seguridad de encabezados y enrutamiento público, deberías colocar un Proxy Inverso delante de él.
Opción A: Servidor Caddy
Mejor para: Despliegues de producción modernos, facilidad de uso.
Caddy es el único servidor web que obtiene y renueva certificados SSL (Let’s Encrypt) automáticamente por defecto. Requiere casi cero configuración.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Opción B: Nginx
Mejor para: Entornos empresariales, enrutamiento complejo.
Nginx es el estándar de la industria para balanceo de carga de alto rendimiento. Úsalo si ya tienes una infraestructura Nginx. Necesitarás gestionar Certbot manualmente.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Opción C: Ngrok
Mejor para: Desarrollo local, Demos, pruebas de Webhook.
Ngrok crea un túnel seguro desde internet público directamente a tu portátil sin configurar firewalls. Ideal para mostrar tu trabajo a colegas al instante.
./ngrok http 8080Checklist de producción
- Termina TLS en el reverse proxy y reenvía
X-Forwarded-ProtoyX-Forwarded-For. - Configura
TRUSTED_PROXIESen PgArachne con los rangos IP/CIDR de tus proxies. - Desactiva buffering en rutas SSE y usa read timeouts suficientemente largos para streaming.
- Expón métricas solo internamente (por defecto
127.0.0.1:9090) y haz scrape desde tu red de monitoreo.
Ejemplo de hardening Nginx (SSE + headers forwarded)
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;
}