Django:对于允许的\u主机,最合适的值是什么? 问题1
据我所知,django允许settings.py中的_HOSTS选项来防止欺骗攻击 但是,在案例1~3中,我不知道哪一个是允许的_主机的最合适值。(或者它们都会产生相同的结果?) 案例1:Django:对于允许的\u主机,最合适的值是什么? 问题1,django,nginx,settings,spoofing,Django,Nginx,Settings,Spoofing,据我所知,django允许settings.py中的_HOSTS选项来防止欺骗攻击 但是,在案例1~3中,我不知道哪一个是允许的_主机的最合适值。(或者它们都会产生相同的结果?) 案例1:ALLOWED_HOSTS=['.mydomain.com'] 案例2:ALLOWED\u HOSTS=['myipaddress'] 案例3:ALLOWED_HOSTS=['.mydomain.com','myipaddress'] 这个问题与之前的(,)个问题很相关,但我不能清楚地做出决定 问题2 据介绍
ALLOWED_HOSTS=['.mydomain.com']
案例2:ALLOWED\u HOSTS=['myipaddress']
案例3:ALLOWED_HOSTS=['.mydomain.com','myipaddress']
这个问题与之前的(,)个问题很相关,但我不能清楚地做出决定
问题2 据介绍,编辑nginx的配置可能会产生相同的结果。(参见以下代码)
与第一个问题类似的逻辑一样,替换
mydomain.com | www.mydomain.com
的最佳价值是什么?这种问题似乎只发生在不推荐使用的django版本1.5下
如果在<代码> NGIX配置中设置<代码> Server名No/<代码>(例如MyDealEng.com),则NGIX将考虑用IP地址直接访问作为无效请求。< /P> 如果我没有在
允许的\u主机中包含IP地址,django将在用户访问IP地址时向管理员帐户报告。与此相反,当我在允许的\u主机中包含IP地址时,django不会报告
下面是我思想的总结
(1) 仅在允许的\u主机中包含“domain.com”
(2) 从nginx
侧正确设置默认服务器和server\u名称
(3) 如果您不想在这种情况下发送错误邮件,请在settings.py中编辑logging
part
upstream app_server {
server unix:/tmp/gunicorn_mydomain.com.sock fail_timeout=0;
}
server {
...
## Deny illegal Host headers
if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
return 444;
}
location / {
proxy_pass http://app_server;
...
}
}