首页 > 后端开发 > Golang > 尽管进行了正确的 CORS 配置,为什么子域上的 API 服务器无法响应'Access-Control-Allow-Origin”标头?

尽管进行了正确的 CORS 配置,为什么子域上的 API 服务器无法响应'Access-Control-Allow-Origin”标头?

Patricia Arquette
发布: 2024-10-30 02:41:28
原创
820 人浏览过

Why Does My API Server on a Subdomain Fail to Respond with the 'Access-Control-Allow-Origin' Header Despite Proper CORS Configuration?

无法从主域访问子域:没有“Access-Control-Allow-Origin”标头

当您尝试访问时会出现问题从主域上的 React 应用程序访问托管在子域上的 API 服务器。使用 CORS(跨域资源共享)进行跨域通信时,服务器必须发送 'Access-Control-Allow-Origin' 标头来指定允许哪些域访问。

问题定义

尝试从 React 应用访问 API 时遇到 CORS 策略错误,并显示错误消息“请求的资源上不存在‘Access-Control-Allow-Origin’标头”。尽管使用不同的方法来设置 CORS 中间件,包括使用 gin-contrib/cors 库和手动添加标头,但错误仍然存​​在。

解决方案

它变成发现问题不在于服务器端 CORS 配置,而在于 AWS 负载均衡器目标组上的设置。您之前已在目标组中将协议设置为 HTTPS,即使您仅向 Route 53 和 ALB 提供了 ACM 证书。在目标组中将 HTTPS 替换为 HTTP 后,问题就解决了,并且可以从 React 应用程序访问 API。

调试 CORS 问题

诊断 CORS-相关问题,使用 Chrome DevTools 或 cURL 等专用工具检查预检请求至关重要。检查预检响应标头以确保存在预期的“Access-Control-Allow-Origin”标头。如果响应指示除 204 No Content 之外的状态代码,则可能表明服务器端响应或其客户端解释存在问题。

以上是尽管进行了正确的 CORS 配置,为什么子域上的 API 服务器无法响应'Access-Control-Allow-Origin”标头?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板