allowed_host更改无效

时间:2017-06-04 23:34:45

标签: django ubuntu nginx gunicorn digital-ocean

我有一个地址说example.com并已将其添加到allowed_hosts列表中。但是当我访问该网站时,我得到了  ALLOWED_HOSTS ['127.0.0.1', '::1', '178.XX.XX.XXX', 'xx80::xx81:xxx:xx3x:x12x%eth0']

在调试错误页面中,而实际的settings.py文件读取['178.XX.XX.XXX','example.com']。我认为settings.py的更改未注册,因为我可以从列表中删除178.XX.XX.XXX并仍然访问该网站(清除浏览器缓存后)我重新启动了nginx,gunicorn和整个服务器无济于事。整个事情是在ubuntu 16.04上运行django 1.8并使用nginx和gunicorn。任何想要覆盖allowed_hosts的想法可能来自哪里?

1 个答案:

答案 0 :(得分:3)

好的,这很令人尴尬,但数码海洋16.04的django One-cick安装在settings.py的最后添加了一行,其中ALLOWED_HOSTS被重新定义。

# Find out what the IP addresses are at run time
# This is necessary because otherwise Gunicorn will reject the connections
def ip_addresses():
    ip_list = []
    for interface in netifaces.interfaces():
        addrs = netifaces.ifaddresses(interface)
        for x in (netifaces.AF_INET, netifaces.AF_INET6):
            if x in addrs:
                ip_list.append(addrs[x][0]['addr'])
    return ip_list

# Discover our IP address
ALLOWED_HOSTS = ip_addresses()
ALLOWED_HOSTS.append('.example.com') #I added this line

因此,在行中添加追加可以解决问题。