Wagtail 忽略 ALLOWED_HOSTS 等设置
Wagtail ignoring settings such as ALLOWED_HOSTS
我是 运行 nginx、gunicorn 和 wagtail Ubuntu 16.04。我没有使用 virtualenv。 nginx 和 gunicorn 似乎都可以正常工作,但是当我在浏览器中访问我的域时(比方说 myweb.com),我收到不允许的主机错误。
这似乎是一个简单的问题,但我已经在 base.py 中将 myweb.com 添加为允许的主机,如下所示: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'
页面上有更多信息,但我认为这就是可能与问题相关的所有信息
Gunicorn 需要重新启动。我不知道它是否应该像这样工作,但在我的设置中,Gunicorn 似乎总是需要重新启动才能检测对项目文件所做的更改。
我是 运行 nginx、gunicorn 和 wagtail Ubuntu 16.04。我没有使用 virtualenv。 nginx 和 gunicorn 似乎都可以正常工作,但是当我在浏览器中访问我的域时(比方说 myweb.com),我收到不允许的主机错误。
这似乎是一个简单的问题,但我已经在 base.py 中将 myweb.com 添加为允许的主机,如下所示: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'
页面上有更多信息,但我认为这就是可能与问题相关的所有信息
Gunicorn 需要重新启动。我不知道它是否应该像这样工作,但在我的设置中,Gunicorn 似乎总是需要重新启动才能检测对项目文件所做的更改。