django ALLOWED_HOSTS无效

Sau*_*rma 3 python apache django

我的settings.py文件包含:

DEBUG = False
ALLOWED_HOSTS = [u'mydomainxxx.com']
Run Code Online (Sandbox Code Playgroud)

但是,我能够发出这样的卷曲请求:curl -X GET https://mydomainxxx.com/api/ -H 'Authorization: Token some token'我得到了回复.

我希望使用ALLOWED_HOSTS会阻止像curl这样的命令从我的API获得响应.这是正常行为吗?

Sel*_*cuk 6

您将该ALLOWED_HOSTS设置与其他内容混淆.它表示服务器将侦听的主机名; 不是连接主机的主机名.没有内置的方法来阻止它,但您可以轻松编写中间件来检查连接主机名.

您当前的设置将阻止此响应:

curl -X GET http://another_domainxxx.com/api/ -H 'Authorization: Token some token' 
Run Code Online (Sandbox Code Playgroud)

即使两个mydomainxxx.comanother_domainxxx.com解析到同一个IP地址.