2 Min. Lesezeit

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 8080

Produktions-Checkliste

  • TLS am Reverse Proxy terminieren und X-Forwarded-Proto sowie X-Forwarded-For weiterreichen.
  • In PgArachne TRUSTED_PROXIES auf 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;
}