Geçersiz http_host başlığı


109

Django çerçevesini kullanarak bir web sitesi geliştirmeye çalışıyorum ve DigitalOcean.com'u kullanarak başlattım ve gerekli dosyaları django-projesine yerleştirdim.

Django projesine statik dosyalar eklemem gerekiyordu ve statik dosyaları topladıktan sonra ip'imi yenilemeye çalıştım

Web sitesini oluşturmak için kullandığım eğitimleri ekliyorum. https://www.pythonprogramming.net/django-web-server-publish-tutorial/

Aşağıdaki hatayı alıyorum :

DisallowedHost at / Invalid HTTP_HOST üstbilgisi: '198.211.99.20'. ALLOWED_HOSTS'a u'198.211.99.20 'eklemeniz gerekebilir.

Biri bunu düzeltmeme yardım edebilir mi? Bu, Django çerçevesini kullanan ilk web sitem.


Bu aynı zamanda DigitalOcean'daki Yüzen IP adresiniz olabilir.
— Poopy McFartnoise

Yanıtlar:


187

Hata günlüğü basittir. Önerildiği gibi, ALLOWED_HOSTSayarınıza 198.211.99.20 eklemeniz gerekiyor .

Proje settings.py dosyanızda şu şekilde ayarlayın ALLOWED_HOSTS:

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

Daha fazla okumak için buradan okuyun.


Şimdi aşağıdaki hatayı alıyorum İstek URL'si: 198.211.99.20 İstisna Türü: TemplateDoesNotExist İstisna Değer: kişisel / home.html İstisna Konumu: /usr/local/lib/python2.7/dist-packages/django/temp‌ late / loader.py get_template, satır 25'te şablonlarım şu klasörde var / home / django / django_project / personal / templates / personal
— Kathiravan Natarajan

@Kathir Bu hatanın birçok örneği var, sadece google ve eğer sorun devam ederse lütfen ayrı bir soru olarak sorun, yorumlar çok açıklayıcı değil.
— Prakhar Trivedi

Bu kesinlikle işe yarıyor, ancak her zaman bir .env dosyası kullanmanız gerektiği için kötü bir uygulamadır
— Abhishek Jebaraj

@AbhishekJebaraj lütfen biraz daha açıklar mısınız veya daha fazla açıklama ile bir bağlantı paylaşır mısınız?
— Jesus Almaral - Hackaprende

1
@JesusAlmaral Bir .env dosyası, parolaları ve diğer hassas bilgileri içeren yerel bir dosyadır. Tüm bu hassas bilgileri kodunuzun içine koyarsanız, o zaman tehlikeye girebilir. Bu nedenle, bu yerel .env dosyasını kullanıyoruz ve herkes kendi şifreleri ile yerel olarak depolar
— Abhishek Jebaraj

0

settings.py

ALLOWED_HOSTS = ['*']

2
Pydanny'nin dediği gibi "... bunu bir kez anladıktan sonra onu böyle bırakmayın. Nedeni, Django'yu HTTP_HOST başlık saldırılarına karşı potansiyel olarak savunmasız kılıyor. Ve otomatik komut dosyaları, sitelerin bu güvenlik açığına sahip olup olmadığını kontrol etmek için interneti araştırıyor." github.com/pydanny/cookiecutter-django/issues/…
— javidazac

6
Lol, bu geliştirme env. üretimde sadece DEBUG = False olarak ayarlanması gerekir.
— George Poliovei

4
Üretim için '*' kullanmak istemezsiniz. Bu, izin verilen ana bilgisayarların nedenini ve güvenliğini tamamen atlar.
— Andy Poquette
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.