Django:对于允许的\u主机,最合适的值是什么? 问题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 据介绍

据我所知,django允许settings.py中的_HOSTS选项来防止欺骗攻击

但是,在案例1~3中,我不知道哪一个是允许的_主机的最合适值。(或者它们都会产生相同的结果?)

案例1:
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;
        ...
    }

}