2 min čtení

Nasazení a HTTPS

PgArachne je navržen tak, aby dělal jednu věc dobře: API Gateway. Pro SSL/TLS (HTTPS), bezpečnost hlaviček a veřejné směrování byste před něj měli umístit Reverzní proxy.

Možnost A: Caddy Server

Nejlepší pro: Moderní produkční nasazení, snadné použití.

Caddy je jediný webový server, který ve výchozím nastavení automaticky získává a obnovuje SSL certifikáty (Let’s Encrypt). Vyžaduje téměř nulovou konfiguraci.

# Caddyfile
example.com {
    reverse_proxy localhost:8080
}

Možnost B: Nginx

Nejlepší pro: Enterprise prostředí, komplexní směrování.

Nginx je průmyslovým standardem pro vysoce výkonné vyvažování zátěže (load balancing). Použijte jej, pokud již máte infrastrukturu Nginx. Certbot budete muset spravovat ručně.

server {
    server_name example.com;
    location / {
        proxy_pass http://localhost:8080;
    }
}

Možnost C: Ngrok

Nejlepší pro: Lokální vývoj, dema, testování webhooků.

Ngrok vytváří bezpečný tunel z veřejného internetu přímo do vašeho notebooku bez konfigurace firewallu. Ideální pro okamžité ukázky kolegům.

./ngrok http 8080

Produkční checklist

  • Ukončete TLS na reverse proxy a přeposílejte X-Forwarded-Proto a X-Forwarded-For.
  • V PgArachne nastavte TRUSTED_PROXIES na IP/CIDR rozsahy vašich proxy.
  • Pro SSE cesty vypněte buffering a nastavte delší read timeouty pro stream.
  • Metriky publikujte jen interně (výchozí 127.0.0.1:9090) a scrape provádějte z monitorovací sítě.

Ukázka hardeningu Nginx (SSE + forwarded hlavičky)

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;
}