django - allowed_host 更改无效

标签 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 和整个服务器无济于事。整个事情是在运行 django 1.8 并使用 nginx 和 gunicorn 的 ubuntu 16.04 上设置的。这种对 allowed_hosts 的覆盖可能来自哪里的任何想法?

最佳答案

好的,这很尴尬,但是 Digital Ocean 的 16.04 上的 One-cick install for django 在 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

因此,向该行添加附加可以解决问题。

关于django - allowed_host 更改无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359853/

相关文章:

python - 如何从 django 的 db 模型中获取字段类型字符串

django - 对模型 Django 方式的最后 'n' 外键进行微积分(注释/聚合)?

php - fopen 权限被拒绝,Ubuntu,CodeIgniter

ubuntu - 将整数作为参数并打印这些数字的总和,但获取命令未找到错误

Apache:一个域 - 具有不同证书的多个文件夹

html - 如何通过django html按钮执行python代码?

python - 从已完成的 celery 任务中清除 redis

ubuntu - 努力使用 gettng Visual Studio Code 在 Ubuntu 20.04 中显示 Console.Writeline()

python - Nginx 如何为 Django 应用获取 SSL 证书

node.js - 配置 nginx 发送回 404 的 index.html