如果你卷曲我的形象
curl -i https://local-spaces.fra1.digitaloceanspaces.com/test.jpg
您将看到响应中没有 Access-Control-Allow-Origin 标头。
如果你像这样卷曲,则标题设置如下:
curl -H "Origin: http://example.com/" -i https://local-spaces.fra1.digitaloceanspaces.com/test.jpg
现在我很疑惑,因为所有大型 CDN 页面总是设置Access-Control-Allow-Origin: *
,即使Sec-Fetch-Mode: no-cors
。
要测试它,请执行以下操作:
curl -i https://scontent.cdninstagram.com/vp/02a788f9e7f55880601ed240a0e3142a/5E29CBDE/t51.2885-15/sh0.08/e35/s640x640/72271766_155986088835033_6677460235579468035_n.jpg\?_nc_ht\=scontent.cdninstagram.com
或者
curl -i https://loremflickr.com/480/640/girl,boy,man,men,woman\?lock\=4446
答案1
支持人员向我提供了以下帮助:
目前,没有办法强制执行此操作。如果不设置 Origin,则不会提供标头。可以使用代理服务,但这可能不是大多数用例的最佳选择。
答案2
看起来 Digital Ocean Spaces 不允许在其 UI 中使用 * CORS 标头。我最终不得不使用 Just CORS (https://justcors.com) 是一个代理,它将 CORS 标头添加到响应中,以避免出现这种情况。