Tiêu đề http_host không hợp lệ


109

Tôi đang cố gắng phát triển một trang web bằng cách sử dụng khuôn khổ Django và khởi chạy bằng cách sử dụng DigitalOcean.com và triển khai các tệp cần thiết vào django-project.

Tôi đã phải đưa các tệp tĩnh vào Django-project và Sau khi thu thập các tệp tĩnh, tôi đã cố gắng làm mới ip của mình

Tôi bao gồm các hướng dẫn mà tôi đã sử dụng để tạo trang web. https://www.pythonprogramming.net/django-web-server-publish-tutorial/

Tôi nhận được lỗi sau :

DisallowedHost tại / Tiêu đề HTTP_HOST không hợp lệ: '198.211.99.20'. Bạn có thể cần thêm u'198.211.99.20 'vào ALLOWED_HOSTS.

Ai đó có thể giúp tôi sửa lỗi này không? Đây là trang web đầu tiên của tôi sử dụng Django framework.


Đó cũng có thể là địa chỉ IP nổi của bạn trên DigitalOcean.
Poopy McFartnoise

Câu trả lời:


184

Nhật ký lỗi rất đơn giản. Theo đề xuất, Bạn cần thêm 198.211.99.20 vào ALLOWED_HOSTScài đặt của mình .

Trong tệp settings.py dự án của bạn, hãy đặt ALLOWED_HOSTSnhư sau:

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

Để đọc thêm đọc từ đây.


Hiện nhận được lỗi sau URL yêu cầu: 198.211.99.20 Loại ngoại lệ: TemplateDoesNotExist Giá trị ngoại lệ: cá nhân / home.html Vị trí ngoại lệ: /usr/local/lib/python2.7/dist-packages/django/temp‌ late / loader.py trong get_template, dòng 25 tôi có mẫu của tôi trong thư mục sau / home / django / django_project / cá nhân / templates / cá nhân
Kathiravan Natarajan

@Kathir Có rất nhiều ví dụ về lỗi đó. Chỉ cần google nó và nếu sự cố vẫn tiếp diễn, vui lòng đặt nó như một câu hỏi riêng biệt, nhận xét không mang tính mô tả.
Prakhar Trivedi

Điều này chắc chắn làm việc nhưng thực tế xấu như bạn nên luôn luôn sử dụng một tập tin .env
Abhishek Jebaraj

@AbhishekJebaraj bạn có thể vui lòng giải thích thêm một chút hoặc chia sẻ liên kết để giải thích thêm không?
Jesus Almaral - Hackaprende, 31/10/17

1
@JesusAlmaral Tệp .env là tệp cục bộ chứa mật khẩu và các thông tin nhạy cảm khác. Nếu bạn đặt tất cả thông tin nhạy cảm này bên trong mã của mình thì nó có thể bị xâm phạm. Vì vậy, chúng tôi sử dụng tệp cục bộ này .env và mọi người lưu trữ bằng mật khẩu của riêng họ, v.v. tại địa phương
Abhishek Jebaraj

0

settings.py

ALLOWED_HOSTS = ['*']

2
Như pydanny đã nói "... đừng để nó như vậy khi bạn đã tìm ra điều này. Lý do là khiến Django có khả năng dễ bị tấn công tiêu đề HTTP_HOST. Và các tập lệnh tự động lùng sục trên internet để kiểm tra xem các trang web có lỗ hổng này hay không." github.com/pydanny/cookiecutter-django/issues/…
javidazac

6
Lol, đó là để phát triển env. trong sản xuất chỉ cần đặt DEBUG = False.
George Poliovei

4
Bạn không muốn sử dụng '*' để sản xuất. Điều này hoàn toàn bỏ qua lý do và bảo mật của các máy chủ được phép.
Andy Poquette

@radtek - đi một thư mục sâu hơn, bạn đang chỉnh sửa những sai settings.py
birdmw
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.