django报错:Invalid HTTP_HOST header: 'xxx.com'. You may need to add u'xxx.com' to ALLOWED_HOSTS
解决办法:
修改项目的setting.py配置文件
将
ALLOWED_HOSTS = []
改为
ALLOWED_HOSTS = ['xxx.com']
再次运行可以成功访问了。
setting.py中的ALLOWED_HOSTS是为了限定请求中的host值,以防止黑客构造包来发送请求。只有在列表中的host才能访问。
注意:在这里本人强烈建议不要使用*通配符去配置,另外当DEBUG设置为False的时候必须配置这个配置。否则会抛出异常。
ALLOWED_HOSTS后面所跟的属性值是一个字符串列表值,这个字符串列表值表示当下这个Django站点可以提供的host/domain(主机/域名)。这是一种安全措施,通过使用伪造的HTTP主机标头提交请求来防止攻击者中毒缓存并触发带有恶意主机链接的密码重置电子邮件,即使在许多看似安全的Web服务器配置下也是如此。