Back to Guides
F5 BIG-IPSSL/TLSLoad BalancerEnterprise

F5 BIG-IP SSL Profiles Explained

What they are, why you need them, and how they actually work.

12 min readDecember 2025
F5 BIG-IP SSL Profiles Explained

The 30-Second Version

What: SSL profiles are collections of SSL/TLS settings that you attach to virtual servers.

Two types: Client SSL (handles encryption FROM users) and Server SSL (handles encryption TO backends).

Key insight: The naming is from F5's perspective - "Client SSL" handles the client connection, not client certificates.

Most common mistake: Forgetting to add the certificate chain, causing "certificate not trusted" errors.

Watch the Video

F5 and SSL/TLS: What BIG-IP Is Actually Doing

Despite F5's long-standing use of the term "SSL," BIG-IP handles modern TLS — not SSL. SSL 2.0 and 3.0 are deprecated and disabled by default; TLS 1.2 is the current baseline, and TLS 1.3 is supported on BIG-IP 14.0 and later, where it is auto-negotiated once enabled in the profile options.

The naming "SSL profile" is historical. When you configure an F5 SSL/TLS profile today, you are controlling TLS exclusively. Keep this in mind when reading F5 documentation or ticket notes — "SSL profile" and "TLS profile" refer to the same object.

The decrypt/re-encrypt split

When a Client SSL profile and a Server SSL profile are both attached to a virtual server, BIG-IP performs a full terminate-and-re-originate of TLS:

  1. 1Client SSL profile terminates the inbound TLS connection from the user's browser or client. BIG-IP holds the private key and presents your certificate.
  2. 2Traffic is in plaintext inside BIG-IP at this point — enabling iRules, header insertion, URI routing, and payload inspection.
  3. 3Server SSL profile re-encrypts the outbound connection to pool members. BIG-IP acts as a TLS client toward your backend servers.

This split is what enables SSL/TLS offload, inspection, and selective re-encryption — the core value of F5 SSL/TLS termination.

TLS 1.3 on BIG-IP: Available from version 14.0+. Once you remove the no-tlsv1.3 option (or set the options list to allow it), TLS 1.3 is auto-negotiated with clients that support it. No separate profile type is required.

What is an SSL Profile?

An SSL profile is a reusable collection of SSL/TLS settings. Instead of configuring encryption settings directly on each virtual server, you create profiles and attach them. On F5 BIG-IP, this is the standard way to manage certificates, cipher suites, and TLS version policy across your entire deployment.

Why profiles exist:

Reusability

One profile, many virtual servers

Consistency

Same settings everywhere

Manageability

Update once, apply everywhere

Inheritance

Child profiles inherit from parents

Analogy: Think of a profile like a template. You define how SSL should work once, then apply that template wherever you need it.

The Two Types of SSL Profiles

F5 has two types of SSL profiles, and the naming confuses everyone.

                        F5 BIG-IP
                     ┌─────────────────┐
                     │                 │
[Client/Browser] ────▶  Virtual Server  ────▶ [Backend Server]
                HTTPS │                 │ HTTP or HTTPS
                     │  ┌───────────┐  │
                     │  │Client SSL │  │  ◀── Decrypts INCOMING traffic
                     │  │ Profile   │  │      YOUR certificate goes here
                     │  └───────────┘  │
                     │                 │
                     │  ┌───────────┐  │
                     │  │Server SSL │  │  ◀── Encrypts OUTGOING traffic
                     │  │ Profile   │  │      Only needed for re-encryption
                     │  └───────────┘  │
                     │                 │
                     └─────────────────┘

Quick Reference Table

Profile TypeDirectionWhat It DoesYour Cert Here?
Client SSLClient → F5Decrypts incoming HTTPS YES
Server SSLF5 → ServerEncrypts to backendUsually no*

*Only if backend requires client certificate authentication (mTLS)

Why The Names Are Confusing

The naming is from F5's perspective, not yours.

"Client SSL" = Handles the connection where F5 acts as server to the client

"Server SSL" = Handles the connection where F5 acts as client to the server

Mental Model

Client SSL Profile: "How F5 looks to clients"
(F5 presents YOUR certificate)

Server SSL Profile: "How F5 looks to servers"
(F5 acts as a client connecting to your backend)

When You Need Each Profile

Scenario 1: SSL Offload (Most Common)

User ──HTTPS──▶ F5 ──HTTP──▶ Backend

Profiles needed: Client SSL only

  • • F5 terminates SSL
  • • Backend receives plain HTTP
  • • Simplest configuration
  • • Best performance (backend doesn't do crypto)

Scenario 2: End-to-End Encryption (Re-encryption)

User ──HTTPS──▶ F5 ──HTTPS──▶ Backend

Profiles needed: Client SSL + Server SSL

  • • F5 terminates and re-encrypts
  • • Backend receives HTTPS
  • • Required for compliance (PCI, etc.)
  • • F5 can still inspect/modify traffic

Scenario 3: SSL Passthrough

User ──HTTPS──▶ F5 ──HTTPS──▶ Backend
(F5 doesn't decrypt)

Profiles needed: Neither

  • • F5 just routes encrypted traffic
  • • Cannot inspect or modify
  • • Limited load balancing options
  • • Use only when F5 can't have the certificate

Decision Flowchart

Does F5 need to see the traffic content?
│
├── YES (modify headers, route by URL, inspect payload)
│   │
│   └── Create Client SSL Profile with your certificate
│       │
│       └── Does backend need HTTPS?
│           │
│           ├── YES → Also create Server SSL Profile
│           │
│           └── NO → Client SSL only (SSL Offload)
│
└── NO (just route encrypted packets)
    │
    └── Use SSL Passthrough (no SSL profiles)

Anatomy of a Client SSL Profile

Location: Local Traffic → Profiles → SSL → Client

Key Settings Explained

SettingWhat It DoesPlain English
Certificate Key ChainYour certificate + key + chainThe identity F5 shows to browsers
CertificateYour server certificateThe cert users see (e.g., *.example.com)
KeyPrivate key for your certProves F5 owns the certificate
ChainIntermediate certificate(s)Builds trust path to root CA
CiphersAllowed encryption algorithmsWhat crypto is permitted
OptionsTLS versions, settingsTLS 1.2, 1.3, etc.
Client AuthenticationmTLS settingsRequire client certificates?

The Certificate Key Chain - Where Most Mistakes Happen

Correct configuration:

  • Certificate: Your server cert (e.g., www.example.com.crt)
  • Key: Matching private key (e.g., www.example.com.key)
  • Chain: Intermediate CA cert(s) (e.g., DigiCertCA.crt)

Common mistakes:

  • Forgetting the chain (causes "not trusted" on some clients)
  • Wrong chain (F5 silently sends nothing)
  • Key doesn't match certificate (import fails)

Anatomy of a Server SSL Profile

Location: Local Traffic → Profiles → SSL → Server

Key Settings Explained

SettingWhat It DoesWhen You Need It
Certificate Key ChainCert F5 presents to backendOnly if backend requires mTLS
Server NameSNI hostname to sendWhen backend uses SNI
Trusted CAsCAs to trust for backend certTo validate backend identity
CiphersAllowed algorithmsMust match backend capabilities
Server AuthenticationVerify backend?Usually "Ignore" (trust by network)

Most Common Server SSL Config

For simple re-encryption to internal servers:

Server Authentication: Ignore (don't verify backend cert)
Ciphers: Match your backend's supported ciphers
Options: TLS 1.2 minimum

You typically don't need to verify backend certificates when:

  • • Backend is on your internal network
  • • You control both F5 and backend
  • • Network path is trusted

Common Mistakes

MistakeSymptomFix
No chain certificate"Not trusted" on mobile/API clientsAdd intermediate to Chain field
Wrong chain certificateF5 sends no chain at allDownload correct chain from CA
Profile not assigned to VSHTTPS doesn't workVirtual Server → SSL Profile (Client)
Wrong profile typeTraffic doesn't flowClient SSL for incoming, Server SSL for outgoing
Cipher mismatchHandshake failuresAlign ciphers in both profiles
TLS version mismatchConnection resetCheck Options in both profiles

Quick Reference Commands

# List all Client SSL profiles
tmsh list ltm profile client-ssl

# Show specific profile details
tmsh list ltm profile client-ssl my-profile all-properties

# List all certificates on the F5
tmsh list sys crypto cert

# Show certificate details
tmsh list sys crypto cert my-cert all-properties

# Check what ciphers a cipher string produces
tmm --clientciphers 'ECDHE+AES-GCM:ECDHE+AES'

# See all supported ciphers
tmm --clientciphers 'ALL'

Configuring TLS Versions and Ciphers on F5

Controlling which TLS versions and cipher suites BIG-IP accepts is done through the profile's Options list (for protocol versions) and the Cipher string or Cipher Group (for algorithms). Getting this right is critical for security compliance and interoperability.

Disable old TLS versions

Use the options field to explicitly disable legacy protocols. This forces clients to negotiate TLS 1.2 or higher:

tmsh modify ltm profile client-ssl <name> options { no-tlsv1 no-tlsv1.1 no-ssl-v3 }

Cipher Groups and Cipher Rules (BIG-IP 13.0+)

The modern approach is to use Cipher Groups and Cipher Rules rather than a legacy cipher string. Cipher Groups give you named, auditable sets of algorithms that you can reference from multiple profiles:

# List existing cipher rules
tmsh list ltm cipher rule

# Assign a cipher group to a Client SSL profile
tmsh modify ltm profile client-ssl <name> cipher-group <group-name>

Verify your changes

After modifying protocol or cipher settings, confirm the running configuration and then verify the negotiation from outside the box. Check the profile itself first:

tmsh list ltm profile client-ssl <name>

Then test what the VIP actually negotiates from a client machine. Use our SSL checker for a quick browser-based scan, or run openssl s_client from the command line to inspect the full handshake:

Key notes on cipher and TLS version changes

  • TLS 1.3 auto-negotiates on BIG-IP 14.0+ once allowed — no separate profile type required.
  • Cipher Groups/Rules (13.0+) are preferred over legacy cipher strings — they're auditable, named, and reusable.
  • • Always verify negotiation from outside after changes; tmsh shows configuration, not what clients actually negotiate.

Next Steps

Now that you understand SSL profiles:

Frequently Asked Questions

Related Resources