将 AWS React 应用程序连接到 AWS 上的 Node.js API 时出现 CORS 错误

问题描述 投票:0回答:1

我在 Web 应用程序中遇到 CORS(跨源资源共享)错误,我正在寻求帮助来排查和解决此问题。以下是我的设置的关键细节:

  • 前端:我的 Web 应用程序使用 React 版本 16.14。
  • 后端:该 API 是使用 Node.js 版本 16.19 构建的 Express.js 版本 4.18.1.
  • 服务器实例:React前端和Node.js API均托管 在单个 AWS EC2 实例 (t3.large) 上。
  • 数据库:应用程序依赖于AWS上托管的MySQL数据库 RDS。
  • 流程管理:我使用 PM2 来管理 React 的服务 前端和 Node.js API。
  • 负载均衡器:我的设置包括 AWS 应用程序负载均衡器。
  • Auto Scaling:我配置了一个Auto Scaling组,所以当CPU 实例利用率超过35%,新建实例 自动旋转以处理负载。

我面临的问题是,在特定的高峰流量时段,尤其是上午 9:30,会出现 CORS 错误。其余时间,应用程序运行顺利,没有任何问题。

我怀疑 CORS 错误可能与我的负载均衡器、自动缩放或 CORS 设置的配置方式有关。我正在寻找有关如何执行以下操作的指导:

  • 诊断高流量期间的 CORS 错误,特别是 当服务器处于负载状态时。
  • 了解AWS应用程序负载均衡器之间的相互作用, 自动缩放和 CORS。
  • 配置 CORS 设置以避免高峰流量期间出现这些错误 次。

如果您能提供有关如何解决此 CORS 问题并确保始终如一流畅的用户体验(尤其是在高流量期间)的见解、提示或建议,我将不胜感激。

提前感谢您的帮助!

  • CORS配置:我初步审核并调整了CORS 服务器端(Node.js API)的配置以接受请求 来自我的 React 前端的域。这包括设置 响应中的适当标头。
  • 预检请求:我确保 API 处理预检请求 (选项)正确,并且响应包括必要的 CORS 标题。
  • AWS负载均衡器:我检查了AWS应用程序负载均衡器 设置以确保它正确地将请求转发到我的 EC2 实例。
  • 负载测试:我对我的应用程序进行了负载测试以复制 高流量场景。这帮助我确定了 CORS 错误往往发生在特定的高峰时段。

我的期望是,在配置 CORS 设置并确保正确处理预检请求后,即使在高流量期间也不会发生 CORS 错误。我希望 AWS Application Load Balancer 和 Auto Scaling 组能够有效地分配流量并处理负载,而不会导致 CORS 问题。

但是,尽管做出了这些努力,我仍然在流量高峰时段遇到 CORS 错误,尤其是在上午 9:30。我正在寻求有关我可能会忽略的潜在配置或调整的指导,或者在此类设置中处理 CORS 的任何最佳实践。

reactjs node.js amazon-web-services cors pm2
1个回答
0
投票

如果您尚未在 Express.js 应用程序中实施 健康检查 并将其注册到负载均衡器,则新启动的实例可能会在准备好处理流量之前开始接收流量。

© www.soinside.com 2019 - 2024. All rights reserved.