You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Axios请求Node/Express后端出现CORS错误及请求不一致问题

线上部署后CORS及API请求异常排查问题

问题背景

从AWS Amplify部署的React前端,通过EC2弹性负载均衡器向AWS EC2上的Node/Express后端发起安全API调用,使用Auth0做身份验证。本地开发环境一切正常,但部署到线上后出现异常。已修复Bearer令牌附加等问题,但仍存在持续异常。

异常现象

  • 怀疑axios同时发送预检OPTIONS请求和GET请求,导致GET请求失败
  • 快速切换页面时,最终会有一个延迟的GET请求成功,且该请求没有单独的预检OPTIONS请求
  • Chrome控制台报错:

Access to XMLHttpRequest at 'https://api.DOMAIN/api/requirementgroups' from origin 'https://www.DOMAIN' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

请求日志差异详情

  • 预检请求(09:41:29):请求头无身份验证令牌,响应头包含access-control-allow-methods: GET,HEAD,PUT,PATCH,POST,DELETE; access-control-allow-headers: authorization
  • 失败的GET请求(09:41:29):请求头含身份验证令牌,响应头为content-length: 524 content-type: text/html date: Thu, 16 Mar 2023 09:41:29 GMT server: awselb/2.0
  • 成功的GET请求(09:41:31):请求头含身份验证令牌,响应头包含access-control-allow-methods: GET, OPTIONS; access-control-allow-headers: Content-Type, Authorization

当前服务器CORS配置

app.options('*', cors());

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  next();
});

已查阅StackOverflow大量类似问题,但未找到根源,希望能排查出可能的低级错误。

内容的提问来源于stack exchange,提问作者Oliver Trampleasure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:52:53