अमान्य http_host हैडर


109

मैं Django ढांचे का उपयोग करके एक वेबसाइट विकसित करने की कोशिश कर रहा हूं और DigitalOcean.com का उपयोग करके लॉन्च किया और आवश्यक फाइलों को django-project में तैनात किया।

मुझे Django-project में स्थिर फ़ाइलों को शामिल करना था और स्थिर फ़ाइलों को इकट्ठा करने के बाद, मैंने अपने आईपी को रीफ्रेश करने की कोशिश की

मैं उन ट्यूटोरियल्स को शामिल कर रहा हूँ जिनका उपयोग मैंने वेबसाइट बनाने के लिए किया है। https://www.pythonprogramming.net/django-web-server-publish-tutorial/

मुझे निम्नलिखित त्रुटि प्राप्त हो रही है :

अस्वीकृत / अमान्य HTTP_HOST शीर्षक पर: '198.211.99.20'। आपको ALL_ED_HOSTS में u'198.211.99.20 जोड़ना होगा।

क्या कोई मुझे इसे ठीक करने में मदद कर सकता है? यह Django ढांचे का उपयोग करने वाली मेरी पहली वेबसाइट है।


यह भी DigitalOcean पर आपका फ्लोटिंग आईपी एड्रेस हो सकता है।
पूपी McFartnoise

जवाबों:


185

त्रुटि लॉग सीधा है। जैसा कि यह सुझाव दिया गया है, आपको अपनी सेटिंग में 198.211.99.20 जोड़ना होगाALLOWED_HOSTS

अपनी परियोजना सेटिंग फ़ाइल में, ALLOWED_HOSTSइस तरह सेट करें:

ALLOWED_HOSTS = ['198.211.99.20', 'localhost', '127.0.0.1']

आगे पढ़ने के लिए यहाँ से पढ़े


अब निम्न त्रुटि अनुरोध URL प्राप्त कर रहा है: 198.211.99.20 अपवाद प्रकार: TemplateDoesNotExist अपवाद मूल्य: व्यक्तिगत / home.html अपवाद स्थान: /usr/local/lib/python2.7/dist-packages/django/temph late / loader.py get_template में, पंक्ति 25 मैं निम्नलिखित फ़ोल्डर में अपने टेम्पलेट / घर / django / django_project / व्यक्तिगत / टेम्पलेट / व्यक्तिगत
नटराजन

@ कथिर उस त्रुटि के कई उदाहरण हैं। बस इसे गूगल करें और यदि समस्या अभी भी जारी है, तो कृपया इसे एक अलग प्रश्न के रूप में पूछें, टिप्पणियाँ बहुत वर्णनात्मक नहीं हैं।
प्रखर त्रिवेदी

यह निश्चित रूप से काम करता है लेकिन बुरा अभ्यास है क्योंकि आपको हमेशा एक .env फ़ाइल का उपयोग करना चाहिए
अभिषेक जेबराज

@AbhishekJebaraj क्या आप कृपया थोड़ा और समझा सकते हैं या अधिक स्पष्टीकरण के साथ लिंक साझा कर सकते हैं?
जीसस अल्मारल - हैकप्रेंड

1
@JesusAlmaral A .env फ़ाइल एक स्थानीय फ़ाइल है जिसमें पासवर्ड और अन्य संवेदनशील जानकारी होती है। यदि आप यह सारी संवेदनशील जानकारी अपने कोड के अंदर डालते हैं तो यह समझौता हो सकता है। इस प्रकार हम इस स्थानीय फ़ाइल का उपयोग करते हैं। सभी स्थानीय रूप से अपने पासवर्ड आदि के साथ सभी को स्टोर करते हैं
अभिषेक जेबराज

0

settings.py

ALLOWED_HOSTS = ['*']

2
जैसा कि pydanny ने कहा "... जैसे ही आपको यह पता चलता है, उसे छोड़ न दें। इसका कारण यह है कि Django संभावित रूप से HTTP_HOST हेडर हमलों के लिए असुरक्षित है। और स्वचालित स्क्रिप्ट्स यह जांचने के लिए इंटरनेट को परिमार्जन करती हैं कि क्या साइटों में यह भेद्यता है।" github.com/pydanny/cookiecutter-django/issues/…
javidazac

6
लोल, जो विकास के लिए है। उत्पादन में केवल DEBUG = गलत सेट की जरूरत है।
जॉर्ज पोलियोवी

4
आप उत्पादन के लिए '*' का उपयोग नहीं करना चाहते हैं। यह पूरी तरह से अनुमत मेजबानों के कारण और सुरक्षा को दरकिनार कर देता है।
एंडी पॉकेट

@radtek - एक डायरेक्टरी को गहराई से जाएं, आप गलत सेटिंग्स को संपादित कर रहे हैं
बर्डमवॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.