I tried a couple more things with no success:
-
I tried changing my app port from 10000 to 26156 to make sure I’m not accidentally hitting a port conflict with anything. No change, port change is fine on Free tier, but health check fails on non-free.
-
I did some research and found this thread:
Zero-downtime sane defaults
Which mentions the behavior of Render when no health check is defined. Basically, it should run a port scan.
I deleted my health check path again, and re-deployed on the free tier to check, and I see this in my server log:
Apr 11 12:08:49 PM [2022-04-11 22:08:49.443] http: GET index.html (66 ms) 200
Apr 11 12:08:49 PM [2022-04-11 22:08:49.874] http: GET index.html (86 ms) 200
So on the free tier, I can see Render doing the port scan on my application successfully.
I then attempted the plan upgrade again with out the health check path, and I waited.
And I kept waiting. The health check on the non-free tiers for some unknown reason does not reach my application.
Why is this happening?