我在 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 的任何最佳实践。