修复 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的主要内容,如果未能解决你的问题,请参考以下文章
无法修复 CORS 错误(角度 + java spring)
如何修复 localhost 中的 react cors 错误?
如何修复 CORS 错误:ASP .NET C# 中的 MethodDisallowedByPreflightResponse