At present I have two identical IIS vms in a single cloud service, under the same vnet. They both work fine independently of each other. For the purposes of this topic we will call one VM1 and the other VM2. They both have an endpoint for HTTP which is part of a load balanced set, the HTTP endpoint uses an HTTP health check on a site running on port 8080, this port has been opened on the firewall to allow the health check to work correctly.
Load balancing on port 80 is working as expected. From my understanding it load balances in a round-robin fashion and as I refresh I see my requests going between both VM1 and VM2 consistently.
I also setup load balanced endpoints on HTTPS (port 443) with the same http health check to a site running under port 8080 on the machines. The weirdness starts here - only one vm, VM1, ever serves the request while I am refreshing a test page I have setup. If I remove one HTTPS endpoint from VM1 the request times out and I am unable to hit the test page on VM2. However, if I completely remove the load balanced https endpoints from both vms and then add a non loadbalanced HTTPS endpoint to VM2 I am able to hit the test page as expected. Keep in mind that HTTP works perfectly with load balancing for both vms.
I have tried a number of things to get HTTPS load balancing to work, this includes: recreating the vms, recreating the endpoints, restarting the vms, turning off windows firewall and attempting to hit the endpoints from a different machine on a different isp.
Please help!