GH GambleHub

Terminaciones y equilibradores SSL

Resumen breve

La terminación SSL/TLS elimina la carga cripto de las aplicaciones y abre el camino al enrutamiento L7, WAF, rate-limit, mTLS, lanzamientos canarios. Soluciones clave: dónde completar TLS (edge/ingress/dentro de mesh), cómo equilibrar (L4 vs L7), qué perfiles de cifrado utilizar, cómo actualizar certificados sin downtime y cómo mantener p95 latencia y errores en SLO.


Dónde completar TLS

En el borde (CDN/Anycast/WAF): latencia mínima al usuario, protección global, caché/control bot. Más adelante, re-encrypt a backend.
En ingress L7 (Nginx/Envoy/HAProxy/AMB): enrutamiento fino por URI/encabezados, mTLS, validación JWT.
TLS de extremo a extremo (passthrough L4): cuando se necesita end-to-end mTLS hasta el pod/servicio (por ejemplo, una zona de cumplimiento riguroso).
Mesh de servicio (Envoy/Istio/Linkerd): mTLS automatizado dentro del clúster, políticas y telemetría.

Práctica: más a menudo - edge terminate → re-encrypt a ingress; para PII/pagos - mTLS antes del servicio.


L4 vs L7 equilibrio

L4 (TCP/UDP): latencia mínima, checks de salud simples (puerto/TSD), TLS passthrough. Adecuado para gRPC en TLS en caso de escasez de L7-fich.
L7 (HTTP/HTTPS/HTTPS 3): enrutamiento por host/path/encabezados/cookies, WAF, rate-limits, lanzamientos canarios, sesiones de sticky, retraídas/timeouts.


TLS: versiones, claves, cifrados

Versiones: TLS 1. 3 en todas partes, TLS 1. 2 como fallback. Apague 1. 0/1. 1.
Claves/serts: ECDSA (P-256) - RSA más rápido; se puede doble-pila (ECDSA + RSA) para la antigüedad.
ALPN: `h2` и `http/1. 1`; para HTTP/3 - 'h3' (QUIC/UDP).
OCSP Stapling: incluir; HSTS en dominios públicos.
Grupos de claves: almacenamiento en KMS/HSM; extensión automática (ASME/árbol de confianza).
0-RTT (TLS 1. 3): incluir puntualmente (GET/idempotent), considerar el riesgo de replay.

Perfil de cifrado básico (TLS 1. 2): `ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305`


Rendimiento TLS

Resumen: tickets de sesión/IDs - reducir el costo de mano.
ECDSA + ChaCha20 ayuda en móviles/sin AES-NI.
OCSP Stapling + cadenas cortas reducen p95.
HTTP/2/3: multiplexación, menos conexiones → por debajo de p95.
Offload: pin núcleos CPU bajo crypto, habilitar reuseport, tune socket búferes.


Seguridad

mTLS: requiere client-cert para el almirante/API de los operadores; CRL/OCSP para su revocación.
SNI/ECH: SNI es el estándar; ECH (Encr. ClientHello) oculta el dominio (si el proveedor edge es compatible).
Seguridad de Transporte Strict (HSTS): dominios prod, con precaución al inicio.
TLS entre hop-ami: re-encrypt al servicio, incluso dentro de DC (Zero-Trust).
Rate-limit/gray-bueyes: en la L7 protegen a los api de los bots/brutforce.


Observabilidad y SLO

SLO (ejemplos)

p95 TLS-handshake ≤ 80-120 ms (global), p95 TTFB ≤ 200-300 ms.
Errores TLS (handshake/peer-verify) ≤ 0. 1%.
La proporción de currículums ≥ del 70% para visitas repetidas.

Métricas

`handshake_time`, `tls_version`, `alpn`, `cert_expiry_days`, `ocsp_staple_status`.
L7: `p50/p95/p99`, `5xx`, `429`, `upstream_rq_time`, `retry_budget`.
Capacity: connects activos, CPS (connections per second), RPS.


Configuraciones típicas

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 + stickiness + mTLS al 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

Envoy (L7 terminate + mTLS del cliente + canario)

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 AMB/NLB (concepto)

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 de extremo a extremo a pod.
CloudFront/Cloudflare: TLS edge + WAF + Bot-management; origin — HTTPS only.


Actualización de certificados sin downtime

ACME (Let's Encrypt/privada CA) con actualización automática y reinicio en caliente (Nginx 'reload', Envoy SDS).
Certificados dobles (ECDSA + RSA) en migraciones.
Control de cadenas: verificación de CA intermedias; OCSP stapling después de la rotación.
Alertas: 'cert _ expiry _ days <21' y 'ocsp _ status! = good'.


Health-checks y enrutamiento

L4: TCP connect, TLS handshake.
L7: versión HTTP 200/JSON, gRPC health.
Políticas: failover, weighted, latency, consistent-hash (cookie/IP) para sticky.
Retraídas/Timeouts: equilibrio entre sostenibilidad y duplicados de solicitudes (¡idempotencia!).


Kubernetes-patterny

Ingress Controller (Nginx/Envoy/HAProxy): Termination on ingress, 'ExternalDNS' para registros DNS, 'cert-manager' para ACME.
Gateway API: declarativo TLSRoute/HTTPoute con los canarios.
Mesh de servicio: pod↔pod mTLS automático, políticas en el nivel 'PeerAuthentication '/' DestinationRule'.


Lista de comprobación de seguridad

  • TLS 1. 3 incluido; 1. 0/1. 1 apagado.
  • Cifrados modernos; ECDSA-sert donde el soporte lo permita.
  • OCSP stapling, cadenas completas, HSTS.
  • mTLS para admiradores/interconectados; revocación de los servidores cliente.
  • Filtros Rate-limit/bot en el borde; protección contra slowloris/headers oversized.
  • Re-encrypt a backend (Zero-Trust).
  • Secretos/Claves en KMS/HSM; rotación y auditoría de la emisión.

Observabilidad y alertas

Метрики: TLS handshakes/sec, failure rate, session resumption rate, OCSP, p95/99, open conns, CPS, RPS.
Registros: SNI/ALPN/versión TLS, cipher, certificado de cliente (para mTLS), códigos upstream, latency breakdown.
Alertas: crecimiento de '5xx/525', caída de la resunción, 'cert _ expiry _ days', 'ocsp _ failed', superación de p95, ráfagas de '429'.


Errores típicos

Termine en el borde y plain HTTP en el interior sin protección.
Las cadenas de CA excesivamente largas → el crecimiento de p95 handshake.
No hay → de bloqueo de stapling OCSP en los clientes/navegadores.
Sesiones de sticky sin tener en cuenta failover → «verter» en un nodo degradado.
0-RTT está habilitado para solicitudes de modificación → riesgo de volver a presentar.
La ausencia de serts hot-reload → drops segundos en rotación.


Especificidad para iGaming/fintech

Picos (torneos/partidos): calentamiento de las sesiones TLS (pre-connect), cadenas cortas, alta proporción de reposición, HTTP/2/3 para frentes.
Pasarelas de pago/PSP: mTLS, versiones/ciphers rigurosos, CA pinned, dominios/AMB individuales con reglas estrictas.
Filtros antifraude/bot: L7-rate-limit por IP/ASN/device-fingerprint, bueyes gray canarios (challenge/capcha) en un dominio separado.
Regulaciones: HSTS, registros de parámetros TLS auditados, informes de versiones, revocación de los servidores de clientes por incidentes.


minipleybuki

Lanzamiento canario a través del equilibrador L7

1. Agregue el clúster 'api-canary' con un peso del 5%; 2) vigile p95/errores; 3) 5→25→50→100%; 4) Auto-desenrollado en degradación.

Rotación de certificados de emergencia

1. Descargue el nuevo cert/key; 2) 'reload' sin caída de connects (SDS/reemplazo en caliente); 3) validación OCSP; 4) dashboard p95 handshake.

Habilitar HTTP/3

1. Abra el UDP/443; 2) añadir ALPN 'h3'; 3) métricas separadas de QUIC loss/RTT; 4) A/B según la proporción de clientes.


Resultado

La terminal SSL eficiente es un perfil TLS moderno, la ubicación de terminación correcta, el enrutamiento L7 inteligente, la observabilidad y la seguridad estricta (mTLS, HSTS, re-encrypt). Fije todo en IaC, automatice las rotaciones, mida p95/errores y use canarios - así el frente sobrevivirá a los picos y será previsiblemente rápido y seguro.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.