【发布时间】:2016-12-02 20:53:14
【问题描述】:
我相信我已经正确地为存储在 firebase 存储中的图像设置了 CORS 标头,但是当我尝试使用我的代码访问它时出现错误。
我的 cors.json 文件如下所示:
[
{
"origin": [
"http://localhost:9090", "https://xrd.github.com"
],
"responseHeader": [
"Content-Type"
],
"method": [
"GET",
"HEAD",
"DELETE"
],
"maxAgeSeconds": 3600
}
]
我运行了这个命令:
$ gsutil cors set cors.json gs://yumejs-42402.appspot.com
我可以使用 cURL 命令验证事情是否正常工作?我应该在任何请求中看到标头吗?
$ curl -Is 'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/images%2FT7inLHFI8CPZNFYB9LMla2rkKHh1%2F1.jpg?alt=media&token=3174a842-42fd-4155-8948-1f07f8ba10b6' \
| grep Access | grep Origin
Access-Control-Allow-Origin: *
这意味着它不正确,对吧?这似乎允许所有请求...
我可以在 Firebase 网络控制台(或 cloud.google.com)中查看 CORS 设置吗?
此链接记录了问题(您需要查看 JS 控制台)
JS控制台里面打印的错误是:
“访问图像在 'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/imag...B9LMla2rkKHh1%2F1.jpg?alt=media&token=3174a842-42fd-4155-8948-1f07f8ba10b6' 来自“https://firebasestorage.googleapis.com”的来源已被阻止 通过 CORS 策略:不存在“Access-Control-Allow-Origin”标头 请求的资源。因此,原点 'https://xrd.github.io' 是 不允许访问。”
【问题讨论】:
标签: google-cloud-storage google-cloud-platform