【发布时间】:2013-05-16 14:13:29
【问题描述】:
自从升级到 django 1.5 后,我的日志显示了几个带有文本的 SuspiciousOperation 异常:
Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): <my server's ip>
这是否真的是一个“可疑”请求,或者我是否应该始终在ALLOWED_HOSTS 设置中包含我的服务器的 IP 地址以及我的域名?知道用HTTP_HOST = "ip address" 而不是HTTP_HOST = "domain name" 会发出什么请求吗?
这里是请求环境:
{'HTTP_ACCEPT_ENCODING': "'identity'",
'HTTP_CONNECTION': "'close'",
'HTTP_HOST': "'168.62.208.14'",
'HTTP_X_FORWARDED_PROTOCOL': "'https'",
'HTTP_X_REAL_IP': "'176.10.35.241'",
'HTTP_X_SCHEME': "'https'",
'PATH_INFO': "u'/'",
'QUERY_STRING': "''",
'RAW_URI': "'/'",
'REMOTE_ADDR': "'127.0.0.1'",
'REMOTE_PORT': "'45068'",
'REQUEST_METHOD': "'GET'",
'SCRIPT_NAME': "u''",
'SERVER_NAME': "'168.62.208.14'",
'SERVER_PORT': "'80'",
'SERVER_PROTOCOL': "'HTTP/1.0'",
'SERVER_SOFTWARE': "'gunicorn/0.14.6'",
'gunicorn.socket': "'<socket._socketobject object at 0x7ab3b40>'",
'wsgi.errors': '"<open file \'<stderr>\', mode \'w\' at 0x7f0c94810270>"',
'wsgi.file_wrapper': "'<class gunicorn.http.wsgi.FileWrapper at 0x34eec80>'",
'wsgi.input': "'<gunicorn.http.body.Body object at 0x2a0bf10>'",
'wsgi.multiprocess': 'False',
'wsgi.multithread': 'False',
'wsgi.run_once': 'False',
'wsgi.url_scheme': "'http'",
'wsgi.version': '[1, 0]'}
【问题讨论】:
-
@yuwang 不同之处在于链接的问题是在这种情况下 HTTP_HOST 是 google.com - 所以它肯定是可疑的。就我而言,HTTP_HOST 是我服务器的实际 IP 地址,所以我不确定它是否是有效请求。
-
那些是正常有效的请求吗?
-
@KrisKumler 我不太确定这些请求是否有效,这就是我想要弄清楚的。我已包含来自这些请求之一的请求数据。我们所有的有效请求通常都有 HTTP_HOST: 域,但也许有一些原因让客户端通过我不知道的 IP 地址发出请求?
-
我也看到了同样的情况——我猜是网络爬虫、机器人——它们只是爬取公共 IP 来寻找网站——所以我认为允许他们获取你的网站是可以的——我想应该他们成功了,然后他们将进行反向查找以确定您的域名。
标签: django