Load Balancer : Health Check fails for no reason
<p>I am trying to set up a load balancer on GCE for 2 Tomcat servers, running individually on 2 VMs (<code>vm-1</code> and <code>vm-2</code>). Both listen on port 80 and the network firewall rules allow traffic on port <code>80</code> from any source (<code>0.0.0.0/0</code>).
Now, I created an instance group of both these VMs together called <code>vm-group</code> and set a named port named <code>http</code> pointing to port <code>80</code>.</p>

<p>I created a health check too, on port <code>80</code>, pointing to <code>/&lt;app_name&gt;/&lt;health_url&gt;</code>, which reports a HTTP 200 if the app is healthy.</p>

<p>Then, I setup a HTTP load balancer using instructions in <a href="https://www.youtube.com/watch?v=FtLhVvSFi84" rel="noreferrer">this video</a>. Once setup, I find that the load balancer reports that <code>0/2</code> instances are healthy, which means the health checks are failing. </p>

<p>When I manually hit the health check URLs, they return a <code>HTTP 200</code> - so my app is healthy.</p>

<p>Now, I am not sure why the load balancer reports the VMs as unhealthy and is unable to route requests. How can I debug this further?</p>

<p><strong>Edit</strong>: I verified that the <code>google-address-manager</code> is running as mentioned in <a href="https://stackoverflow.com/questions/26937469/google-compute-engine-health-checks-failing">this question</a>.</p>