首页 > 解决方案 > 我可以将我的 Django REST API 设置为仅回答来自特定主机/域上托管的网站的请求吗?

问题描述

我试图让我的 API 可以从特定的子域访问。目前我的 Settings.py 文件结构如下:

ALLOWED_HOSTS = [
'localhost',
'http://localhost:7999'
]

...
...
...

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = [
    'http://localhost:8001'
]

CORS_ALLOW_METHODS = [
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT'
]

假设我希望只能从 localhost:7999 访问 api,但在 ALLOWED_HOSTS 变量中指定 localhost 会使所有子域都能够访问 API。有没有办法解决这个问题而不必使用 COR。

标签: djangodjango-rest-framework

解决方案


推荐阅读