Question

Healthy load balancer with healthy droplets returning 503

Posted August 26, 2019 1.5k views
UbuntuDigitalOceanLoad Balancing

I’ve setup a load balancer and attached two droplets that are all in the same region. The health checks are all green and I’m able to reach the two droplets individually by accessing their public IP on port 8080 (My NodeJS app is listening on port 8080). I’m wondering what else I could be missing. The load balancer is configured to forward HTTP on port 80 to HTTP on port 8080 for the droplets. It’s seem odd that I can reach the droplets directly but the load balancer cant. The error I’m getting is: “503 Service Unavailable: No server is available to hand this request”

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
4 answers

I had the same issue. I decided to install nginx on each droplet and have that handle proxying from port 80 to my node app’s port (4000, in my case). I noticed that after installing - but before configuring the proxy - the load balancer was showing the default nginx welcome page.

This indicates to me that the load balancer 80->4000 forwarding option is not taking any effect at all, and I was previously seeing the 503 error because it was hitting my droplets on port 80.

I’m going to leave the 80->4000 setting in place for now, even after setting up nginx. It’s possible that this forwarding option just takes some time to kick in? I’ll report back if I find out how to do this without nginx. (We’ll see what happens when I get into SSL, too)

What is the configuration in the load balancer?
Did you configure a port for SSL on the Droplet (not the load balancer)?

I did’t configure either of the droplets or the load balancer for SSL. Doing everything over plain HTTP and the droplets worked fine when I reach them via HTTP by themselves. I’ve actually switched to creating my own loading balancing droplet because I couldn’t get this to work. I setup a vanilla droplet with Nginx as revers proxy load balancing my droplets. That’s working fine for me.

I am having this same issue.... My Load Balancer shows healthy, but it’s like it doesn’t want to pass “real” traffic (outside of the health check) to the droplet… Has there been a fix for this?

Submit an Answer