The health-reporter-app container logs show:
http: TLS handshake error from <load balancer IP>: client sent an HTTP request to an HTTPS server
The health endpoint no longer responds over HTTP, confirm with curlcurl http://<VCFA_FQDN>:8008/health
Expected response:Client sent an HTTP request to an HTTPS server.
VCF Automation 9.1
Starting with VCF Automation 9.1.0, the health-check port (8008) was migrated to TLS:
HTTP access on port 8008 is automatically disabled if traffic stops for a continuous period, specifically 3 hours in version 9.1.0 and 12 hours in versions 9.1.1 and later. This inactivity typically occurs when a load balancer's health monitor is temporarily paused or removed. Consequently, if the load balancer is still configured for HTTP checks after this timeout triggers, it will fail to verify node health when it attempts to resume sending traffic.
Reconfigure the load balancer to probe health over HTTPS instead of HTTP.
Resolution:
RUNTIME_FQDN="<VCF Services Runtime FQDN>"PASSWORD='<vmware-system-user password>'
TOKEN=$(curl -sk --request POST \ --url "https://${RUNTIME_FQDN}/api/v1/identity/token" \ --header 'content-type: application/x-www-form-urlencoded' \ --data grant_type=password \ --data [email protected] \ --data "password=${PASSWORD}" | jq -r .access_token)
VCFA_ID=$(curl -sk "https://${RUNTIME_FQDN}/api/v1/components" \ --header "Authorization: Bearer ${TOKEN}" | jq -r '.components[] | select(.type == "vcfa") | .id')
curl -sk "https://${RUNTIME_FQDN}/api/v1/components/${VCFA_ID}" \ --header "Authorization: Bearer ${TOKEN}" \ | jq -r '.spec.configuration.ingress.vcfa.tls.ca' > vcfa-ingress-ca.pem
5. Confirm the pool reports healthy and both portals load correctly.
Applies to: VCF Automation 9.1.0 and later, in any deployment with an external/third-party load balancer in front of the native ingress.