修复 CORS 错误问题 axois.get MissingAllowOriginHeader

Posted

技术标签:

【中文标题】修复 CORS 错误问题 axois.get MissingAllowOriginHeader【英文标题】:Fixing CORS error issue axois.get MissingAllowOriginHeader 【发布时间】:2021-10-09 13:59:10 【问题描述】:

好吧: 我正在www.gethatext.com 运行一个 LightSail 实例。

前端 - 反应,后端 - Django

在主页上,我向 Django 服务器发出 2 个 get 请求。

重要的是要说 Django 和 React 都在 apache 服务器中提供服务。

apache的.conf文件(http & https)

ProxyPass /api http://localhost:8000。 # 姜戈。 ProxyPassReverse /api http://localhost:8000 # Django. ProxyPass / http://localhost:3000/。 # 反应。 ProxyPassReverse / http://localhost:3000/。 #反应。

所以我调查并读到我需要在<Directory>, <Location> or <VirtualHost> 的.conf 文件中添加以下内容。 我也这样做了(并重新启动了所有源服务)。

<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>

但它没有帮助。

但是当我在我的计算机中从 POSTMAN 发出相同的请求时,我得到了预期的响应(从实例终端 python manage.py runserver 0.0.0.0:8000 运行后)

我还在我的请求中添加了https://cors-anywhere.herokuapp.com 所以它看起来像:

axois.get("https://cors-anywhere.herokuapp.com/https://gethatext.com/api/account/quantity/")....

令人惊讶的是它成功了。但是这感觉不是一个好的做法,而且在数据隐私方面也是如此 .

所以我想知道这里的问题是什么?

这是否与 Django 和 React 都在同一个 apache 服务中提供服务有关?

同时添加到axois header:

“访问控制允许来源”:“*”

但没有运气

浏览器控制台错误:

祝大家好运,提前致谢。

【问题讨论】:

你在你的项目中安装了 django-cors 吗?如果您还没有,请查看此https://***.com/questions/35760943/how-can-i-enable-cors-on-django-rest-framework 是的,我的 Django 项目在 INSTALLED_APPS 中有 corsheaders 请分享浏览器控制台错误。 添加为最终图像 请从setting.py分享allows_host并运行cmd。 【参考方案1】:

所以这个解决方案是 添加:

“代理”:“https:my-domain.com”。 到 package.json 和 axios 请求中。

axios.get("/upload/quantity/").then()... 它奏效了

【讨论】:

以上是关于修复 CORS 错误问题 axois.get MissingAllowOriginHeader的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“将请求的模式设置为'no-cors'”错误?

无法修复 CORS 错误(角度 + java spring)

如何修复 localhost 中的 react cors 错误?

修复 iOS 12 Safari Cors 预检错误

如何修复 CORS 错误:ASP .NET C# 中的 MethodDisallowedByPreflightResponse

如何修复 react 和 spring web 应用程序中的 cors 错误?