【发布时间】: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://stackoverflow.com/questions/35760943/how-can-i-enable-cors-on-django-rest-framework -
是的,我的 Django 项目在 INSTALLED_APPS 中有 corsheaders
-
请分享浏览器控制台错误。
-
添加为最终图像
-
请从setting.py分享allows_host并运行cmd。
标签: reactjs amazon-web-services apache axios cors