Python ALLOWED_HOSTS 和 Django

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/45194182/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 16:48:20  来源:igfitidea点击:

ALLOWED_HOSTS and Django

pythondjangodjango-1.11

提问by Alex

I tried to launch a Django 1.11 project on production server. When I start the app I see the following error:

我试图在生产服务器上启动一个 Django 1.11 项目。当我启动应用程序时,我看到以下错误:

Invalid HTTP_HOST header: 'bla-bla-bla.bla-bla-vla.com'. You may need to add u'bla-bla-bla.bla-bla-vla.com' to ALLOWED_HOSTS**

无效的 HTTP_HOST 标头:'bla-bla-bla.bla-bla-vla.com'。您可能需要将 u'bla-bla-bla.bla-bla-vla.com' 添加到 ALLOWED_HOSTS**

But, host "bla-bla-bla.bla-bla-vla.com"has been added to ALLOWED_HOSTSin settings.pyalready!

但是,主机"bla-bla-bla.bla-bla-vla.com"已经添加ALLOWED_HOSTS进去settings.py了!

I tried to switch DEBUGfrom Falseto Trueand back. It works fine, then.

我试图切换DEBUGFalseTrue和背部。那么它工作正常。

What am I doing wrong?

我究竟做错了什么?

采纳答案by RompePC

If Django says:

如果 Django 说:

Invalid HTTP_HOST header: 'bla-bla-bla.bla-bla-vla.com'. You may need to add u'bla-bla-bla.bla-bla-vla.com' to ALLOWED_HOSTS

无效的 HTTP_HOST 标头:'bla-bla-bla.bla-bla-vla.com'。您可能需要将 ' bla-bla-bla.bla-bla-vla.com'添加到 ALLOWED_HOSTS

then you need to add bla-bla-bla.bla-bla-vla.com, literally (or using a dot as a wildcard) to ALLOWED_HOSTS(docs).

那么您需要将bla-bla-bla.bla-bla-vla.com,字面意思(或使用点作为通配符)添加到ALLOWED_HOSTSdocs)。

Then reload Apache2 (not restart, reload) to verify changes have applied.

然后重新加载 Apache2(不是重新启动,重新加载)以验证更改是否已应用。

回答by Essex

As I said in comments :

正如我在评论中所说:

First option :

第一个选项:

You have to write : ALLOWED_HOSTS=["bla-bla.com", "localhost", "127.0.0.1"]in settings.py file

你必须写:ALLOWED_HOSTS=["bla-bla.com", "localhost", "127.0.0.1"]在settings.py文件中

Then, you just have to restart your server with :

然后,您只需使用以下命令重新启动服务器:

sudo reboot

Or easily reload or restart apache2 service

或者轻松重新加载或重启 apache2 服务

service apache2 reloador service apache2 restart

service apache2 reload或者 service apache2 restart

It should work now ;)

它现在应该可以工作了;)

回答by Hakan Yalcinkaya

ALLOWED_HOSTS = [
    '127.0.0.1',
    'localhost',
    'bla-bla',
]