Deployment e HTTPS
PgArachne è progettato per svolgere bene un solo compito: API Gateway. Per SSL/TLS (HTTPS), sicurezza degli header e routing pubblico, dovresti posizionare un Reverse Proxy davanti ad esso.
Opzione A: Server Caddy
Ideale per: Deployment di produzione moderni, facilità d’uso.
Caddy è l’unico server web che ottiene e rinnova automaticamente i certificati SSL (Let’s Encrypt) per impostazione predefinita. Richiede quasi zero configurazione.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Opzione B: Nginx
Ideale per: Ambienti enterprise, routing complesso.
Nginx è lo standard industriale per il bilanciamento del carico ad alte prestazioni. Usalo se hai già un’infrastruttura Nginx. Dovrai gestire Certbot manualmente.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Opzione C: Ngrok
Ideale per: Sviluppo locale, Demo, test Webhook.
Ngrok crea un tunnel sicuro da internet pubblico direttamente al tuo portatile senza configurare firewall. Ideale per mostrare il tuo lavoro ai colleghi all’istante.
./ngrok http 8080Checklist di produzione
- Termina TLS sul reverse proxy e inoltra
X-Forwarded-ProtoeX-Forwarded-For. - Imposta
TRUSTED_PROXIESin PgArachne con i range IP/CIDR dei tuoi proxy. - Disattiva il buffering sulle rotte SSE e usa read timeout sufficientemente lunghi per lo streaming.
- Esponi le metriche solo internamente (default
127.0.0.1:9090) e fai scrape dalla rete di monitoraggio.
Esempio hardening Nginx (SSE + header 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;
}