开始之前
边看边操作在 HTTP / CORS 检测 中打开实际工作区→
接口返回 HTTP 200,也可能被浏览器拦截。应把 OPTIONS 预检与实际请求当作两次独立交换,并按发起请求的 Origin 检查响应。
确认请求 Origin
协议、域名和端口都属于 Origin,看起来相近的开发地址也不是同源。
示例
https://app.example.com检查 OPTIONS 预检
非简单请求需要检查 OPTIONS 状态,以及 Allow-Origin、Methods 和 Headers。
示例
OPTIONS /api检查跳转和最终响应
重定向或错误处理页面可能没有 CORS Header,即使正常业务路由已经配置。
示例
3xx → 最终地址谨慎启用凭据
带凭据请求不能同时使用 Allow-Credentials: true 和通配符 Origin。
示例
Access-Control-Allow-Credentials: true要点总结
- CORS 由浏览器执行,curl 不会替浏览器拦截。
- 预检和真实响应都必须正确。
- 应分别诊断状态码、重定向和 CORS。