Bereitstellung & HTTPS
PgArachne ist darauf ausgelegt, eine Aufgabe gut zu erfüllen: API Gateway. Für SSL/TLS (HTTPS), Header-Sicherheit und öffentliches Routing sollten Sie einen Reverse Proxy davor platzieren.
Option A: Caddy Server
Am besten für: Moderne Produktionsbereitstellungen, Benutzerfreundlichkeit.
Caddy ist der einzige Webserver, der standardmäßig automatisch SSL-Zertifikate (Let’s Encrypt) bezieht und erneuert. Er erfordert fast keine Konfiguration.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Option B: Nginx
Am besten für: Unternehmensumgebungen, komplexes Routing.
Nginx ist der Industriestandard für hochleistungsfähiges Load Balancing. Verwenden Sie dies, wenn Sie bereits eine Nginx-Infrastruktur haben. Sie müssen Certbot manuell verwalten.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Option C: Ngrok
Am besten für: Lokale Entwicklung, Demos, Webhook-Tests.
Ngrok erstellt einen sicheren Tunnel vom öffentlichen Internet direkt zu Ihrem Laptop, ohne Firewalls zu konfigurieren. Ideal, um Kollegen Ihre Arbeit sofort zu zeigen.
./ngrok http 8080Produktions-Checkliste
- TLS am Reverse Proxy terminieren und
X-Forwarded-ProtosowieX-Forwarded-Forweiterreichen. - In PgArachne
TRUSTED_PROXIESauf die Proxy-IP/CIDR-Bereiche setzen. - Für SSE-Routen Buffering deaktivieren und ausreichend lange Read-Timeouts setzen.
- Metriken nur intern exponieren (Standard
127.0.0.1:9090) und aus dem Monitoring-Netz scrapen.
Nginx-Hardening-Beispiel (SSE + Forwarded Header)
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;
}