Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Axios-被CORS策略阻止:否';访问控制允许原点';请求的资源上存在标头_Reactjs_Amazon Web Services_Amazon S3_Cors_Amazon Cloudfront - Fatal编程技术网

Reactjs Axios-被CORS策略阻止:否';访问控制允许原点';请求的资源上存在标头

Reactjs Axios-被CORS策略阻止:否';访问控制允许原点';请求的资源上存在标头,reactjs,amazon-web-services,amazon-s3,cors,amazon-cloudfront,Reactjs,Amazon Web Services,Amazon S3,Cors,Amazon Cloudfront,我正试图通过React web应用程序向cloudfront发行版(具有S3 bucket来源)发出GET请求。问题是,我想我已经在cloudfront和s3上启用了设置,所以“Access Control Allow Origin”头包含在响应头中 Cloudfront缓存行为: 和S3 bucket的CORS配置: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration x

我正试图通过React web应用程序向cloudfront发行版(具有S3 bucket来源)发出GET请求。问题是,我想我已经在cloudfront和s3上启用了设置,所以“Access Control Allow Origin”头包含在响应头中

Cloudfront缓存行为:

和S3 bucket的CORS配置:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>


正如您所看到的,当响应头在终端中显示为curl时,“accesscontrolalloworigin”在响应头中丢失。如何修复它,以便浏览器可以发出跨原点请求?当我发出API请求时,使用cors anywhere代理是一个好主意吗?

当通过axios请求时,响应的头看起来是什么样的?正在发送哪些请求头?如果将
-H'Accept:application/json'
添加到curl请求中,响应会是什么样子?我编辑了这个问题,以包含您描述的信息。如果我添加“Accept:application/json”头,没有任何变化(它仍然可以工作并获取内容),我想知道您是否只是得到了一个缓存响应——最后一次修改至少表明了这一点。你试过上面提到的步骤吗?您是否尝试过在CloudFront上执行缓存无效化,然后等待几分钟以完成该操作,然后清除浏览器的缓存?如果除了进入bucket之外,您还允许GET和OPTIONS,会发生什么情况?如果我得到缓存响应,curl请求是否也不会收到正确的头?然而,它仍然很好。。。