Skip to the content.

⚙️ What is SSL Termination?

Definition:

SSL Termination is the process of decrypting SSL/TLS-encrypted traffic at a load balancer or proxy instead of letting the backend servers handle it.

Goal:


🔄 How It Works (Incoming Traffic)

  1. Client → Load Balancer/Proxy

    • Client sends HTTPS request → encrypted with SSL/TLS
  2. SSL Termination at Load Balancer

    • Load balancer has the private key and SSL certificate
    • Decrypts the incoming traffic → converts it to plain HTTP
  3. Forward to Backend Servers

    • Backend servers receive unencrypted HTTP traffic
    • Can process requests without SSL overhead

Flow Diagram (text version):

Client (HTTPS) → [Load Balancer: SSL Termination] → Backend Server (HTTP)

⚡ Advantages

  1. Reduces CPU load on backend servers
  2. Centralized certificate management → easier to update or rotate certificates
  3. Better scalability → LB handles heavy SSL traffic
  4. Simpler backend setup → servers don’t need certificates

⚠️ Considerations / Disadvantages

  1. Traffic between LB and backend is unencrypted

    • Use internal network or VPN for security
  2. Single point for SSL keys

    • Must be highly secured

🔧 Variations

  1. SSL Termination (Decryption at LB)

    • LB decrypts, sends plain HTTP to backend
  2. SSL Passthrough

    • LB just forwards encrypted traffic → backend decrypts
    • Pros: end-to-end encryption
    • Cons: backend CPU handles SSL, cannot inspect traffic
  3. SSL Bridging (Re-encryption)

    • LB decrypts, inspects traffic, then re-encrypts before sending to backend
    • Pros: end-to-end encryption maintained
    • Cons: more CPU overhead

🧩 Analogy


✅ Key Takeaways

  1. SSL Termination decrypts HTTPS at load balancer → backend receives HTTP
  2. Reduces CPU load and centralizes certificate management
  3. Consider internal encryption if traffic passes untrusted networks
  4. Variants: Passthrough, Termination, Bridging → trade-offs in security vs performance