Wdrożenie i HTTPS
Wdrożenie i HTTPS
PgArachne jest zaprojektowany tak, aby dobrze wykonywać jedno zadanie: API Gateway. Dla SSL/TLS (HTTPS), bezpieczeństwa nagłówków i publicznego routingu, powinieneś umieścić przed nim Reverse Proxy.
Opcja A: Caddy Server
Najlepsze dla: Nowoczesnych wdrożeń produkcyjnych, łatwości użycia.
Caddy to jedyny serwer WWW, który domyślnie automatycznie uzyskuje i odnawia certyfikaty SSL (Let’s Encrypt). Wymaga prawie zerowej konfiguracji.
# Caddyfile
example.com {
reverse_proxy localhost:8080
}Opcja B: Nginx
Najlepsze dla: Środowisk enterprise, złożonego routingu.
Nginx jest branżowym standardem dla wysokowydajnego load balancingu. Użyj go, jeśli już masz infrastrukturę Nginx. Certbota będziesz musiał zarządzać ręcznie.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}Opcja C: Ngrok
Najlepsze dla: Lokalnego developmentu, demonstracji, testowania webhooków.
Ngrok tworzy bezpieczny tunel z publicznego internetu bezpośrednio do twojego laptopa, bez konfigurowania zapór sieciowych. Idealne do natychmiastowego pokazania swojej pracy współpracownikom.
./ngrok http 8080Lista kontrolna produkcyjna
- Terminuj TLS na reverse proxy i przekazuj dalej
X-Forwarded-ProtoorazX-Forwarded-For. - Ustaw
TRUSTED_PROXIESw PgArachne na zakresy IP/CIDR twojego proxy. - Wyłącz buforowanie dla tras SSE i ustaw wystarczająco długie limity czasu odczytu dla streamingu.
- Udostępniaj metryki tylko wewnętrznie (domyślnie
127.0.0.1:9090) i pobieraj je z sieci monitoringu.
Przykład hardeningu Nginx (SSE + przekazywane nagłówki)
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;
}