我正在开发一些东西并遇到Django CORS问题。我跟着this尝试解决这个问题,但是当我想要包含白名单时,我似乎没有运气。我不断获得“No'Access-Control-Allow-Origin'标题存在于所请求的资源上。“当我尝试向数据库发出GET请求时。
具体来说,我正在开发一个托管在不同域(AWS S3)上的角度Web应用程序,而Django数据库则在AWS EC2上。例如,当我将localhost:3000列入白名单时,白名单在本地工作,但当我将s3域列入白名单时似乎不起作用。如果我将Django设置为允许所有但我不想出于安全目的这样做,它确实有效。我正在尝试在域中添加一些正则表达式以允许网站上可用的不同路由,但这仍然无法解释为什么localhost:3000在更多localhost:3000 /#/ page / page2时工作。
我的javascript代码如下:
$http({
url: "api/url",
method: 'GET',
withCredentials: true,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'accesstoken'
}
}).then((response) => {
$scope.response = response;
}, (data) => {
$scope.response = data;
})
如果您需要任何其他信息,请与我们联系。
答案 0 :(得分:0)
显然正则表达式白名单有效。关于django cors头文件的文档,只需包含域的正则表达式,它将适用于您尝试访问Django数据库的任何路由。不确定为什么本地主机工作,但这没有,也没有特别添加路由作为白名单,但我不抱怨。