GH GambleHub

Terminazione SSL e bilanciatori

Breve riepilogo

La terminazione SSL/TLS rimuove il carico di crittografia dalle applicazioni e apre la strada al routing L7, WAF, rate-limit, mTLS, release canarie. Soluzioni chiave: dove completare TLS (edge/ingress/dentro mesh), come bilanciare (L4 vs L7), quali profili di cifrario utilizzare, come aggiornare i certificati senza downtime e come mantenere p95 latitanza e errori in SLO.


Dove completare TLS

Al bordo (CDN/Anycast/WAF) - Latitudine minima all'utente, protezione globale, kash/bot control. La parte successiva è re-encrypt fino al backend.
Su ingress L7 (Nginx/Avvoy/HAProxy/ALB): routing sottile per URI/intestazioni, mTLS, convalida JWT.
TLS (passthrough L4): quando si richiede end-to-end fino a pod/servizio (ad esempio, zona di compilazione rigorosa).
Servizio Mesh (Avvoy/Istio/Linkerd) - mTLS automatizzato all'interno del cluster, delle regole e della telemetria.

Pratica: più frequente - edge terminate da re-encrypt a ingress; per i pagamenti PII - prima del servizio.


Bilanciamento L4 vs L7

L4 (TCP/UDP) - Ritardo minimo, semplice health-checks (porta/TSD), passthrough TLS. È adatto per un gRPC TLS in caso di mancanza di L7-Fich.
L7 (HTTP/HTTPS/HTTP3): routing host/percorso/intestazioni/cookie, WAF, rate-limits, release canarie, sticky sessioni, retrai/timeout.


TLS versioni, chiavi, codici

Versione TLS 1. 3 ovunque, TLS 1. 2 come fallback. Spegnete 1. 0/1. 1.
Chiavi/serti: ECDSA (P-256) - più veloce di RSA; è possibile utilizzare il doppio stack (ECDSA + RSA) per il vecchio.
ALPN: `h2` и `http/1. 1`; per HTTP/3 - 'h3' (QUIC/UDP).
OCSP Stapling - Includi; HSTS su domini pubblici.
Pool di chiavi: memorizzazione in KMS/HSM; estensione automatica (ASME/Albero di fiducia).
0-RTT (TLS 1. 3) - Includere i punti (GET/idipotenti), tenere conto del rischio replay.

Profilo base cifrato (TLS 1. 2): `ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305`


Prestazioni TLS

Resumption: sessione tickets/IDS - riduce il costo handshake.
ECDSA + ChaCha20 aiutano sul mobile/senza AES-NI.
OCSP Stapling + scorciatoie riducono p95.
HTTP/2/3: multiplexing, meno connessioni sotto p95.
Offload: pin core CPU sotto crypto, abilitare reuseport, tune socket-buffer.


Sicurezza

mTLS: richieda client-cert per le operatrici/API degli operatori; CRL/OCSP da richiamare.
SNI/ECH: standard SNI; ECH (Encr. ClientHello) nasconde il dominio (se supportato dal provider edge).
Strict Port Security (HSTS) - domini prod, con cautela alla partenza.
TLS tra hop-ami: re-encrypt prima del servizio, anche all'interno di DC (Zero-Trust).
Rate-limit/gri-buoi: su L7 proteggono gli api dai bot/brutforte.


Osservabilità e SLO

SLO (esempi)

p95 TLS-handshake da 80 a 120 mc (globale), p95 TTFB da 200 a 300 mc.
Gli errori TLS (handshake/peer-verify) sono 0. 1%.
La percentuale di è pari al 70% per le visite ripetute.

Metriche

`handshake_time`, `tls_version`, `alpn`, `cert_expiry_days`, `ocsp_staple_status`.
L7: `p50/p95/p99`, `5xx`, `429`, `upstream_rq_time`, `retry_budget`.
Capacity: connettori attivi, CPS (connessioni per secondo), RPS.


Configi tipici

Nginx (L7 terminate + HTTP/2 + OCSP stapling)

nginx server {
listen 443 ssl http2 reuseport;
server_name api.example.com;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:...:ECDHE-RSA-CHACHA20-POLY1305';
ssl_ecdh_curve X25519:P-256;
ssl_certificate   /etc/ssl/cert.pem;    # полная цепочка ssl_certificate_key /etc/ssl/key.pem;
ssl_stapling on; ssl_stapling_verify on;
ssl_session_cache shared:SSL:50m; ssl_session_timeout 1d;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_pass https://upstream_pool;
}
}

upstream upstream_pool {
zone backends 64k;
server 10.0.1.10:8443 max_fails=3 fail_timeout=10s;
server 10.0.1.11:8443 max_fails=3 fail_timeout=10s;
keepalive 256;
}

HAProxy (L7 terminate + stick + mTLS a backend)

haproxy frontend fe_https bind:443 ssl crt /etc/haproxy/certs/ alpn h2,http/1.1 mode http http-response set-header Strict-Transport-Security max-age=31536000 default_backend be_api

backend be_api mode http balance roundrobin cookie SRV insert indirect nocache option httpchk GET /healthz server s1 10.0.1.10:8443 check ssl verify required ca-file /etc/haproxy/ca.pem server s2 10.0.1.11:8443 check ssl verify required ca-file /etc/haproxy/ca.pem

Avvoy (L7 terminate + mTLS da client + canarino)

yaml static_resources:
listeners:
- name: https address: { socket_address: { address: 0.0.0.0, port_value: 443 } }
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress route_config:
virtual_hosts:
- name: api domains: ["api.example.com"]
routes:
- match: { prefix: "/" }
route:
weighted_clusters:
clusters:
- name: api-stable weight: 95
- name: api-canary weight: 5 http_filters:
- name: envoy.filters.http.router transport_socket:
name: envoy.transport_sockets.tls typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext common_tls_context:
tls_certificates:
- certificate_chain: { filename: "/etc/tls/cert.pem" }
private_key:   { filename: "/etc/tls/key.pem" }
validation_context:       # mTLS (опционально)
trusted_ca: { filename: "/etc/tls/ca.pem" }
require_client_certificate: true

AWS ALB/NLB (concept)

ALB (L7 terminate): HTTPS listener 443 (TLS 1. 2/1. 3), target group HTTPs:8443, health-check `/healthz`, stickiness (cookie).
NLB (L4 passthrough): TLS listener 443, TCP health-checks, SNI end-end fino a pod.
CloudFront/Cloudflare: TLS edge + WAF + Bot Management; origin — HTTPS only.


Aggiornamento certificati senza downtime

ACME (Let's Encrypt/CA privato) con aggiornamento automatico e riavvio a caldo (Nginx 'reload', SDS).
Doppi certificati (ECDSA + RSA) per le migrazioni.
Controllo catene - Verifica CA intermedia OCSP stapling dopo la rotazione.
Alert: 'cert _ expiry _ days <21' e 'ocsp _ status! = good'.


Health-checks e routing

L4: TCP connect, TLS handshake.
L7: HTTP 200/JSON, gRPC health.
Criteri: failover, weighted, latency, consistent-hash (cookie/IP) per sticky.
Retrai/timeout - Bilanciamento tra resistenza e duplicati di query (idampotenza!).


Kubernets-pattern

Ingress Controller (Nginx/Avvoy/HAProxy) - Terminazione su ingress, 'ExternalDNS' per record DNS, 'cert-manager' per ACME.
Gateway API - TLSRout/HTTPRoute dichiarativi con canarini.
Servizio Mesh: automatico, regole a / .


Assegno-foglio di protezione

  • TLS 1. 3 abilitato; 1. 0/1. 1 spento.
  • Codici moderni; I cerotti ECDSA sono dove il supporto è disponibile.
  • OCSP stapling, catene complete, HSTS.
  • mTLS per ammiragli/interconnessi; ricreazione dei cerchi dei clienti.
  • Rate-limit/bot-filtri sul bordo; protezione da slowloris/oversized headers.
  • Re-encrypt a backend (Zero-Trust).
  • Segreti/chiavi in KMS/HSM; rotazione e controllo del rilascio.

Osservabilità e alert

Метрики: TLS handshakes/sec, failure rate, session resumption rate, OCSP, p95/99, open conns, CPS, RPS.
Logi: SNI/ALPN/versione TLS, cipher, certificato client (per il mTLS), codici upstream, latency breakdown.
Alert: altezza 5xx/525, caduta respumption, 'cert _ expiry _ days', 'ocsp _ failed', eccesso di p95, picchi '429'.


Errori tipici

Terminazione sul bordo e plain HTTP all'interno senza protezione.
Catene CA eccessivamente lunghe per la crescita p95 handshake.
Nessuna OCSP stapling bloccata su client/browser.
Le sessioni Sticky non tengono conto del failover «fluttuare» su un nodo degradato.
0-RTT è abilitato per le richieste di modifica per il rischio di reimpostazione.
L'assenza di serpi hot-reload ha → i drop di secondi durante la rotazione.


Particolare per iGaming/Fintech

Picchi (tornei/partite): riscaldamento delle sessioni TLS (pre-connect), catene brevi, alta percentuale di respumption, HTTP/2/3 per i fronti.
Gateway di pagamento/PSP: mTLS, ciphers/versioni rigorose, pinned CA, singoli domini/ALB con regole rigide.
Filtri antifrod/bot: L7-rate-limit su IP/ASN/device-fingerprint, grie-vola canarie (challenge/capcha) su un dominio separato.
Regolazione: HSTS, registri di controllo delle impostazioni TLS, report di versione, resoconto dei server client sugli incidenti.


Mini playbook

Rilascio canario tramite L7-bilanciatore

1. Aggiungi il cluster api-canary con un peso del 5%; 2) Monitorare i p95/errori; 3) 5→25→50→100%; 4) rotazione automatica in caso di degrado.

Rotazione di emergenza del certificato

1. Scaricare il nuovo cert/key; 2) 'reload'senza caduta dei connettori (SDS/hot-swap); 3) controllo OCSP; 4) dashboard p95 handshake.

Abilitazione HTTP/3

1. Aprite UDP/443; 2) Aggiungi ALPN 'h3'; 3) singole metriche QUIC loss/RTT; 4) A/B per quota di clienti.


Totale

Terminazione SSL efficiente è un profilo TLS moderno, il punto di completamento corretto, routing L7 intelligente, osservabilità e sicurezza rigorosa (mTLS, HSTS, re-encrypt). Fissate tutto nel IaC, automatizzate le rotazioni, misurate il p95/errore e usate i canarini, in modo che il fronte sopravviva ai picchi e sia prevedibilmente veloce e sicuro.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.