2016-03-24 33 views
3

我從Digital Ocean中託管的Django 1.7應用程序中收到錯誤。Django無效的HTTP_HOST標題:' x80 xc7 xda x9e'

無效的HTTP_HOST標頭:'\ x80 \ xc7 \ xda \ x9e'。根據RFC 1034/1035提供的域名無效。

Request repr(): 
<WSGIRequest 
path:/xmlrpc.php, 
GET:<QueryDict: {}>, 
POST:<QueryDict: {}>, 
COOKIES:{}, 
META:{'HTTP_CONNECTION': 'close', 
'HTTP_HOST': '\x80\xc7\xda\x9e', 
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0)Gecko/20100101 Firefox/10.0', 
'HTTP_X_FORWARDED_FOR': '181.214.92.100', 
'PATH_INFO': u'/xmlrpc.php', 
'QUERY_STRING': '', 
'RAW_URI': '/xmlrpc.php', 
'REMOTE_ADDR': '181.214.92.100', 
'REMOTE_PORT': '80', 
'REQUEST_METHOD': 'POST', 
'SCRIPT_NAME': u'', 
'SERVER_NAME': '\x80\xc7\xda\x9e', 
'SERVER_PORT': '80', 
'SERVER_PROTOCOL': 'HTTP/1.0', 
'SERVER_SOFTWARE': 'gunicorn/18.0', 
'gunicorn.socket': <socket._socketobject object at 0x7fb05e3e1280>, 
'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7fb0663e01e0>, 
'wsgi.file_wrapper': <class gunicorn.http.wsgi.FileWrapper at 0x7fb063c1b7a0>, 
'wsgi.input': <gunicorn.http.body.Body object at 0x7fb05e3bf810>, 
'wsgi.multiprocess': False, 
'wsgi.multithread': False, 
'wsgi.run_once': False, 
'wsgi.url_scheme': 'http', 
'wsgi.version': (1, 0)}> 

我在我的基本文件中設置了ALLOWED_HOSTS = ['*']。這個錯誤的原因是什麼,我該如何解決這個問題?

回答

0

看起來像某人正在測試您的web服務的無效請求(主機字段中不允許使用字符)。

這應該被拒絕在網絡服務器級別,而不是傳遞給gunicorn和Django。

這似乎是對PHP網站的自動攻擊,所以它很可能不會傷害你。但是你應該重新配置Web服務器來拒絕這種不好的頭文件。

+0

你能推薦任何教程或鏈接來處理這些類型的錯誤(更喜歡nginx) –

+0

有關web服務器配置的問題比堆棧溢出更適合放置服務器故障。你會在那裏得到更好的幫助。 –

相關問題