F5Networks / k8s-bigip-ctlr

Repository for F5 Container Ingress Services for Kubernetes & OpenShift.
Apache License 2.0
364 stars 195 forks source link

Persistent connection issue with SSL and HTTP pools in a VirtualServer Hostgroup #3654

Open LouanTessi opened 1 day ago

LouanTessi commented 1 day ago

Title

Persistent connection issue with SSL and HTTP pools in a VirtualServer Hostgroup

Setup Details

Description

We have multiple Kubernetes services published within a VirtualServer "Hostgroup":

We want to enable the reuse of the client <==> F5 connection (Connection: keep-alive header) even when requests are directed to differents pools.

additional information: One Connect enabled on the Virtual Server

Actual Problem

When making a second request to another service, we receive an RST (connection reset), despite using the Connection: keep-alive header.

This issue only occurs when another rule is configured with an active SSL context pointing to a pool within the VirtualServer Hostgroup:

ltm.log
warning tmml: POD_IP:8080 -> F5_IP:52097: Connection error: ssl_null_parse: alert invalid record type
warning tmml: SSL Handshake failed for TCP POD_IP:8080 -> F5_IP:52097

The F5 should not initiate an SSL handshake for POD_IP:8080 (HTTP).

Solution Proposed

Alternatives

A temporary solution is to use the Connection: close header to force a new connection for each request. However, this negatively impacts performance and increases response times.