Deployment & HTTPS

2 λεπτά ανάγνωσης

Deployment & HTTPS

Το PgArachne είναι σχεδιασμένο να κάνει καλά μία δουλειά: API Gateway. Για SSL/TLS (HTTPS), ασφάλεια headers, και δημόσια δρομολόγηση, θα πρέπει να τοποθετήσετε ένα Reverse Proxy μπροστά του.

Επιλογή A: Caddy Server

Καλύτερο για: Μοντέρνα deployments παραγωγής, ευκολία χρήσης.

Το Caddy είναι ο μοναδικός web server που αποκτά και ανανεώνει αυτόματα SSL certificates (Let’s Encrypt) εξ ορισμού. Απαιτεί σχεδόν καθόλου ρύθμιση.

# Caddyfile
example.com {
    reverse_proxy localhost:8080
}

Επιλογή B: Nginx

Καλύτερο για: Εταιρικά περιβάλλοντα, σύνθετη δρομολόγηση.

Το Nginx είναι το πρότυπο του κλάδου για load balancing υψηλής απόδοσης. Χρησιμοποιήστε το αν έχετε ήδη υποδομή Nginx. Θα χρειαστεί να διαχειριστείτε το Certbot χειροκίνητα.

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

Επιλογή Γ: Ngrok

Καλύτερο για: Τοπική ανάπτυξη, demos, δοκιμές webhook.

Το Ngrok δημιουργεί ένα ασφαλές tunnel από το δημόσιο διαδίκτυο απευθείας στο laptop σας χωρίς να ρυθμίσετε firewalls. Ιδανικό για να δείξετε τη δουλειά σας σε συνεργάτες άμεσα.

./ngrok http 8080

Λίστα ελέγχου παραγωγής

  • Τερματίστε το TLS στο reverse proxy και προωθήστε τα X-Forwarded-Proto και X-Forwarded-For.
  • Ορίστε TRUSTED_PROXIES στο PgArachne στα εύρη IP/CIDR του proxy σας.
  • Απενεργοποιήστε το buffering για routes SSE και διατηρήστε τα read timeouts αρκετά μεγάλα για streaming.
  • Εκθέστε τις μετρικές μόνο εσωτερικά (προεπιλογή 127.0.0.1:9090) και κάντε scrape από το δίκτυο monitoring σας.

Παράδειγμα ενίσχυσης Nginx (SSE + forwarded headers)

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