Déploiement & HTTPS
PgArachne est conçu pour faire une seule tâche bien : API Gateway. Pour le SSL/TLS (HTTPS), la sécurité des en-têtes et le routage public, vous devriez placer un Reverse Proxy devant.
Option A : Serveur Caddy
Idéal pour : Déploiements de production modernes, facilité d’utilisation.
Caddy est le seul serveur web qui obtient et renouvelle les certificats SSL (Let’s Encrypt) automatiquement par défaut. Il ne nécessite presque aucune configuration.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Option B : Nginx
Idéal pour : Environnements d’entreprise, routage complexe.
Nginx est la norme industrielle pour l’équilibrage de charge (load balancing) haute performance. Utilisez-le si vous avez déjà une infrastructure Nginx. Vous devrez gérer Certbot manuellement.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Option C : Ngrok
Idéal pour : Développement local, Démos, tests de Webhook.
Ngrok crée un tunnel sécurisé depuis l’internet public directement vers votre ordinateur portable sans configurer de pare-feu. Idéal pour montrer votre travail à des collègues instantanément.
./ngrok http 8080Checklist de production
- Terminez TLS sur le reverse proxy et transférez
X-Forwarded-ProtoetX-Forwarded-For. - Définissez
TRUSTED_PROXIESdans PgArachne avec les plages IP/CIDR de vos proxies. - Désactivez le buffering sur les routes SSE et utilisez des read timeouts assez longs pour le streaming.
- Exposez les métriques uniquement en interne (défaut
127.0.0.1:9090) et scrapez depuis le réseau de monitoring.
Exemple 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;
}