python - django ALLOWED_HOSTS 不工作

标签 python django apache

我的 settings.py 文件包含:

DEBUG = False
ALLOWED_HOSTS = [u'mydomainxxx.com']

但是,我能够发出这样的 curl 请求:curl -X GET https://mydomainxxx.com/api/-H 'Authorization: Token some token' 并且正在获取响应。

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

最佳答案

你混淆了 ALLOWED_HOSTS设置其他东西。它表示您的服务器将监听的主机名;不是连接主机的主机名。没有内置的方法来阻止它,但您可以轻松地编写一个中间件来检查连接的主机名。

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

curl -X GET http://another_domainxxx.com/api/ -H 'Authorization: Token some token' 

即使 mydomainxxx.comanother_domainxxx.com 都将解析到相同的 IP 地址。

关于python - django ALLOWED_HOSTS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600443/

相关文章:

php - 将 PHP 应用程序部署到 Apache 服务器 Httpd 时出现问题

apache - 如何在 Apache 重写规则中使用部分 Referrer header

perl - 为什么我的 reducer 出现故障? (Hadoop)

python - 如何使用 Django 通过链接呈现与一个条目关联的所有数据?

python - Python:套接字未读取字节输入

python - 在 django 代码中实现谷歌地图

Django 休息框架 :UniqueValidator copare the field convert to upper case

javascript - Django View 中的日期时间在 Javascript 中使用

python - 在python中拆分列表的项目

python - Python Coinbase Pro API 如何计算限价订单的执行值(value)?