Load Balancer nodes show Critical when manual query is fine

I have a load balancer setup to 3 pools (each pool has a single server). When I query the load balancer CNAME or query each server directly with the health check, it returns 200 in less than 0.5 sec.

However, the health check is always in a critical state. Why is this?

Try manual from Postman (or your favorite tool)
https://api01.loyalty.dog/v1/status
https://api02.loyalty.dog/v1/status
https://api03.loyalty.dog/v1/status

They all return 200 quickly - yet none of them will pass the health check.

BTW - I have whitelisted all the Cloudflare IP addresses in the WAF, so that shouldn’t be the issue.

Turn out that it’s better to use port 80 (http without SSL) just for the status checks, especially if your server is not full (strict) compliant.