【问题标题】:allowed_host changes not effectiveallowed_host 更改无效
【发布时间】:2017-11-05 16:34:18
【问题描述】:

我有一个地址,例如 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 的覆盖可能来自哪里的任何想法?

【问题讨论】:

  • 也许尝试删除项目树中的所有 *.pyc 调用?
  • 除了删除 *.pyc 文件,检查以确保 gunicorn 路径正确并指向正确的应用程序。

标签: django ubuntu nginx gunicorn digital-ocean


【解决方案1】:

好吧,这很尴尬,但是 Digital Ocean 的 16.04 上的 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

所以添加一个追加到该行解决了这个问题。

【讨论】:

  • 我也遇到了这个问题。这是放置这个的正确位置还是允许的域是否属于该服务器管理并传递给 Django 的上游某个地方?
猜你喜欢
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多