2014-01-21 40 views
2

所以Django的是給我這個信息郵件:爲什麼Django向我發送無效的HTTP_HOST標頭與我的服務器IP?

[Django] ERROR: Invalid HTTP_HOST header: '<my server IP here>'.You may need to add u'<my server IP here>' to ALLOWED_HOSTS. 

No stack trace available 

Request repr() unavailable. 

問題是...你不能與服務器IP訪問我的網站,因爲我只允許域名已經在ALLOWED_HOST設置。

那麼......我該怎麼辦?

編輯:我使用的Nginx - > Gunicorn。這個錯誤有時會發生,例如每週1-2次。

+0

可能是因爲你沒有設置頁眉代理之前,Django的,請加你的虛擬主機配置文件,並說明你的服務器結構,如果它有什麼特別的東西。 –

+0

這是不會發生非常頻繁,因此很難找到錯誤消息的原因。 Anywat,我使用的Nginx - > Gunicorn - > Django的 – Spindel

回答

4

找到了原因。

它是當有人試圖通過IP通過HTTPS訪問的服務器,如https://開頭(和服務器IP)

的解決辦法是禁用該選項。

解決方案的Nginx:

server { 
    listen  80; 
    listen  443 ssl; 
    ssl_certificate /etc/ssl/example.crt; 
    ssl_certificate_key /etc/ssl/example.key; 
    return  444; 
} 
+0

這是發生在我身上來。你是如何禁用它的? –

+0

這取決於您使用的是什麼Web服務器。我使用Nginx,所以我編輯了nginx.conf並將其禁用。 – Spindel

+0

另一個原因是此錯誤消息:http://stackoverflow.com/questions/22416027/invalid-http-post-header-in-django-1-6-2 – mgalgs

相關問題