我在Django的ALLOWED_HOSTS
设置中。它已经在我的所有生产网站上设置了一段时间,但特别是一个网站已经抛出了奇怪的调试电子邮件。该网站工作正常(对我来说),但大约每周一次,我会收到一封电子邮件:
SuspiciousOperation: Invalid HTTP_HOST header
(you may need to set ALLOWED_HOSTS): thepcspy.com.
<WSGIRequest
path:/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{},
META:{...
'HTTP_HOST': 'thepcspy.com.',
'SERVER_NAME': 'thepcspy.com',
...
请注意错误中的域之后和HTTP_HOST
中的句号。据我所知,在我的nginx配置中,没有任何内容可以在HTTP_HOST
上的名称之后添加额外的点(注意SERVER_NAME
是正确的)。到底是怎么回事?
如果有人故意试图破坏我的服务器,我应该把它写下来吗?
答案 0 :(得分:3)
最后一个点使它成为fully qualified domain name (FQDN)。这个问题正是在ALLOWED_HOSTS
设置的Django文档中注明的:https://docs.djangoproject.com/en/stable/ref/settings/#allowed-hosts
如果您还想允许某些浏览器可以在Host标头中发送的完全限定域名(FQDN),则必须显式添加另一个包含尾随句点的ALLOWED_HOSTS条目。