Rob*_*ers 6 amazon-s3 amazon-web-services aws-sdk-js
使用 webpack 运行开发服务器,我尝试列出 S3 存储桶中的项目并在浏览器中使用 javascript aws-sdk 控制台输出结果。
\n\n这样做时我收到此错误:
\n\nCross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://bucketname.s3.amazonaws.com/?list-type=2&max-keys=2. (Reason: CORS header \xe2\x80\x98Access-Control-Allow-Origin\xe2\x80\x99 missing).\nRun Code Online (Sandbox Code Playgroud)\n\n但是我在 webpack 开发服务器配置中设置了该标头,并通过以下方式证明:
\n\ncurl -I http://localhost:8080\n\nHTTP/1.1 200 OK\nX-Powered-By: Express\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH, OPTIONS\nAccess-Control-Allow-Headers: X-Requested-With, content-type, Authorization\nX-Content-Type-Options: nosniff\nContent-Type: text/html; charset=utf-8\nContent-Length: 7170\nVary: Accept-Encoding\nDate: Sat, 02 Dec 2017 16:15:04 GMT\nConnection: keep-alive\nRun Code Online (Sandbox Code Playgroud)\n\n所以我在所有事情上都尝试了*:
\n\nHTTP/1.1 404 Not Found\nX-Powered-By: Express\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: *\nAccess-Control-Allow-Headers: *\nRun Code Online (Sandbox Code Playgroud)\n\n如果标头存在,但错误提示标头丢失,是否可能是授权等其他原因?
\n\n如果它确实是标头设置,那么如果标头确实存在,下一步将是什么?
\n\n更新****
\n\n1:在S3上添加CORS设置,尽管我相信它抱怨的标头不会在S3上:
\n\n<?xml version="1.0" encoding="UTF-8"?>\n<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n<CORSRule>\n <AllowedOrigin>*</AllowedOrigin>\n <AllowedMethod>GET</AllowedMethod>\n <MaxAgeSeconds>3000</MaxAgeSeconds>\n <AllowedHeader>Authorization</AllowedHeader>\n</CORSRule>\n</CORSConfiguration>\nRun Code Online (Sandbox Code Playgroud)\n\n此外,存储桶未启用公共或静态托管。
\n\n2:这有效:
\n\n<?xml version="1.0" encoding="UTF-8"?>\n<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n<CORSRule>\n <AllowedOrigin>*</AllowedOrigin>\n <AllowedMethod>GET</AllowedMethod>\n <AllowedMethod>PUT</AllowedMethod>\n <AllowedMethod>POST</AllowedMethod>\n <AllowedMethod>DELETE</AllowedMethod>\n <AllowedHeader>*</AllowedHeader>\n <MaxAgeSeconds>3000</MaxAgeSeconds>\n <AllowedHeader>Authorization</AllowedHeader>\n</CORSRule>\n</CORSConfiguration>\nRun Code Online (Sandbox Code Playgroud)\n\n来自标记答案给出的 URL
\n| 归档时间: |
|
| 查看次数: |
2307 次 |
| 最近记录: |