After adding my domain to ALLOWED_HOSTS in django settings I am still getting a 502 error. Not sure why my settings are not recognized.

So, I created an Ubuntu droplet with nginx, gunicorn and django. I added my domain and when trying to access my django site I got a 502 error. I read in several places that adding my domain to ALLOWEDHOSTS should remedy the problem so I did that and still got the error. To make a long story that should have been shorter shorter I finally started gunicorn in the console and the stacktrace I am getting indicates that my domain probably needs to be added to ALLOWEDHOSTS but I already added it. After digging a little further I notice that there are three files that contain an ALLOWEDHOSTS variable. There is ./var/lib/digitalocean/settings.py, ./var/lib/digitalocean/allowhosts.py and /home/django/djangoproject/djangoproject/settings.py. So far I have attempted adding my domain into each of thes files and still recieve the same error. This is a stupid, really really frustrating error. Anyone have any suggestions or have the same issue?

Leave a Comment

I figured out what the problem was. I didn't realize that at the bottom of my settings.py file ALLOWED_HOSTS was being overwritten when the IP addresses are looked up at runtime. Sooo, ALLOWED_HOSTS appears near the beginning of the file which contains the list of your supplied ip addresses and/or domain names and another one at the very end of the file which is set as follows:

Find out what the IP addresses are at run time
This is necessary because otherwise Gunicorn will reject the connections