我创建了一个 node.JS Express 服务器,其作用是使用 API 将 JSON 发送到我的前端。我完成了后端并将其放在AWS服务器上。现在我只想在 React 前端工作。 我在 localhost:3000 上启动反应并向 AWS 服务器发出请求,但收到 CORS 错误,告诉我 localhost:3000 无权向该服务器发送请求。
从源“http://localhost:3000”获取“http://www.myawssever.fr:4000/api-url/”的访问已被 CORS 策略阻止:无“访问控制” -Allow-Origin'标头存在于请求的资源上。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
我已经尝试了多种解决方案来授权 localhost:3000 但我认为问题不是来自那里,因为对于服务器来说 localhost:3000 就是地址本身! 你知道我如何通过向服务器(AWS)发送请求来从我的计算机(React 在 localhost:3000 上)测试我的背部吗?
以下是解决 CORS 错误并启用 React 前端与 AWS 服务器之间通信的组合步骤
在您的 AWS 服务器上配置 CORS
首先,您需要配置服务器以在
响应
中包含适当的CORS标头
。您需要添加带有值“http://localhost:3000”的“Access-Control-Allow-Origin”标头,以允许来自React应用程序的请求。配置CORS的具体方法
配置 CORS 的确切方法取决于您使用的服务器技术(例如 Express、Apache、Nginx)。例如,如果您使用 Express,则可以使用 cors 中间件。以下是如何使用 Express 配置 CORS 的示例:
重新启动您的 AWS 服务器
配置 CORS 后,重新启动 AWS 服务器以应用更改。