【问题标题】:Wagtail ignoring settings such as ALLOWED_HOSTSWagtail 忽略设置,例如 ALLOWED_HOSTS
【发布时间】:2017-09-19 13:46:00
【问题描述】:

我在 Ubuntu 16.04 上运行 nginx、gunicorn 和 wagtail。我没有使用 virtualenv。 nginx 和 gunicorn 似乎都可以正常工作,但是当我在浏览器中访问我的域时(比如说 myweb.com),我收到了不允许的主机错误。

这似乎是一个简单的问题,但我已经将 myweb.com 添加为 base.py 中的允许主机,如下所示:ALLOWED_HOSTS = ['myweb.com']。它甚至在请求信息中说 myweb.com 是设置文件中允许的主机,但似乎 wagtail 只是忽略了这一点。我还尝试在开发设置中关闭调试,但它仍然显示调试屏幕。

编辑:具体的错误消息是(使用 myweb.com 而不是实际域):

DisallowedHost at /

Invalid HTTP_HOST header: 'myweb.com'. You may need to add 'myweb.com' to ALLOWED_HOSTS.

Request Method:     GET

Request URL:    http://myweb.com/

Django Version:     1.11.5

Exception Type:     DisallowedHost

Exception Value:    Invalid HTTP_HOST header: 'myweb.com'. You may need to add 'myweb.com' to ALLOWED_HOSTS.

Exception Location:     /usr/local/lib/python3.5/dist-packages/django/http/request.py in get_host, line 113

Python Executable:  /usr/bin/python3

Python Version:     3.5.2

Python Path:    

['/home/fixgoats/myweb-root',
'/usr/local/bin',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-x86_64-linux-gnu',
'/usr/lib/python3.5/lib-dynload',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages']

Traceback:
File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/exception.py" in inner
41.             response = get_response(request)

File "/usr/local/lib/python3.5/dist-packages/django/utils/deprecation.py" in __call__
138.             response = self.process_request(request)

File "/usr/local/lib/python3.5/dist-packages/django/middleware/common.py" in process_request
57.         host = request.get_host()
File "/usr/local/lib/python3.5/dist-packages/django/http/request.py" in get_host
113.             raise DisallowedHost(msg)

Exception Type: DisallowedHost at /
Exception Value: Invalid HTTP_HOST header: 'myweb.com'. You may need to add 'myweb.com' to ALLOWED_HOSTS.

Request Information:

USER [unable to retrieve the current user]

GET     No GET data

POST    No POST data

FILES   No FILES data

Settings     Using settings module myweb.settings.dev

ALLOWED_HOSTS 'myweb.com'

页面上有相当多的信息,但我认为这是可能与问题相关的所有内容

【问题讨论】:

  • 如果你能具体说明你遇到的错误会很有帮助
  • @TheCog 我已经添加了一些关于错误的信息
  • 尝试 ALLOWED_HOSTS = [*],仅用于测试 ALLOWED_HOSTS。如果可行,请尝试 ALLOWED_HOSTS = ['www.myweb.com', 'myweb.com']
  • 现在可以使用 ['*'] 和 ['myweb.com']。但同时我也重新启动了服务器,所以这可能与它有更多关系。我想我不能确定是什么修复了它,也许 gunicorn 需要重新启动。

标签: django settings gunicorn wagtail


【解决方案1】:

Gunicorn 需要重新启动。我不知道它是否应该像这样工作,但在我的设置中,似乎总是需要重新启动 Gunicorn 以检测对项目文件所做的更改。

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 2019-08-07
    • 2015-08-16
    • 1970-01-01
    相关资源
    最近更新 更多