通过JavaScript加载图像时,CORS标头允许原始错误

时间:2016-12-02 20:53:15

标签: google-cloud-storage google-cloud-platform

我相信我已经完成了所有操作,为存储在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控制台)

https://xrd.github.io/yume.js/player.html?comic=W3sibW9kZWxzIjpbeyJuYW1lIjoiaHR0cHM6Ly9maXJlYmFzZXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vdjAvYi95dW1lanMtNDI0MDIuYXBwc3BvdC5jb20vby9pbWFnZXMlMkZUN2luTEhGSThDUFpORllCOUxNbGEycmtLSGgxJTJGMS5qcGc/YWx0PW1lZGlhJnRva2VuPTMxNzRhODQyLTQyZmQtNDE1NS04OTQ4LTFmMDdmOGJhMTBiNiIsInR5cGUiOiJpbWFnZSJ9XSwiZHVyYXRpb24iOjUsImV4cGFuZGVkIjp0cnVlLCIkJGhhc2hLZXkiOiJvYmplY3Q6NiJ9XQ==

JS控制台内打印的错误是:

  

“访问图像   'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/imag ... B9LMla2rkKHh1%2F1.jpg ALT =媒体&安培;标记= 3174a842-42fd-4155-8948-1f07f8ba10b6'   来自“https://firebasestorage.googleapis.com”的来源已被屏蔽   按CORS政策:没有'Access-Control-Allow-Origin'标题   请求的资源。因此,“https://xrd.github.io”来源   不允许访问。“

1 个答案:

答案 0 :(得分:0)

问题是我在cors.json中使用github.com,引用图像的网站是github.io。