Despliegue y HTTPS
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, se recomienda 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. Utilícelo si ya dispone de una infraestructura Nginx. Será necesario gestionar Certbot manualmente.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Opción C: Ngrok
Mejor para: Desarrollo local, demostraciones, pruebas de Webhook.
Ngrok crea un túnel seguro desde internet público directamente al equipo local sin necesidad de configurar firewalls. Ideal para mostrar el trabajo a colegas al instante.
./ngrok http 8080Checklist de producción
- Termine TLS en el reverse proxy y reenvíe
X-Forwarded-ProtoyX-Forwarded-For. - Configure
TRUSTED_PROXIESen PgArachne con los rangos IP/CIDR de los proxies. - Desactive el buffering en rutas SSE y utilice read timeouts suficientemente largos para streaming.
- Exponga las métricas solo internamente (por defecto
127.0.0.1:9090) y realice el scrape desde la 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;
}