我有一个公共云VM,它具有公共IP,比如160.159.158.157
(这有一个针对它注册的域)。我有一个Django应用程序(后端),它支持CORS,并通过端口8080提供数据服务。我有一个React应用程序运行在不同端口(3000)上的同一个VIM上,它正在访问Django应用程序,并且应该生成一个报告。
问题是,当我使用http://<domain-name>:8080/api/
或http://<public-ip>:8080/api/
时,我的应用程序运行良好,但是当我尝试从本地主机(如http://localhost:8080/api/
或http://127.0.0.1:8080/api/
)获取数据时,React应用程序无法获取数据,错误如下:
跨源请求被阻止:相同的原产地策略不允许在http://127.0.0.1:8080/api/上读取远程资源。(原因: CORS请求没有成功)。状态代码:(null)。
以下是我尝试过的:
axios.get(baseURL, { headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods':'GET,PUT,POST,DELETE,PATCH,OPTIONS',
}
但没起作用。我该怎么办?
发布于 2022-01-14 07:08:47
看起来你已经弄糊涂了那些标题需要在哪里。您正在将它们设置为后端请求,但它们需要设置在来自后端的响应上。毕竟,如果有人提出请求可以简单地说“是的,我很好,你应该相信我”,那就不是很好的安全了。
问题将出现在后端Django应用程序中,所以请再次检查那里的CORS配置。
https://stackoverflow.com/questions/70712269
复制相似问题