The health check does not support HTTPS.
The load balancer health check supports TCP ports and HTTP service but not HTTPS.
In my case, all http traffic is denied or redirected with a 301 to HTTPS, so the load balancer always gets a 301 and assumes the server is okay even if the HTTPS request responds with a 500.