数字海洋空间 S3:是否可以向所有请求添加 access-control-allow-origin:*?

数字海洋空间 S3:是否可以向所有请求添加 access-control-allow-origin:*?

如果你卷曲我的形象

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 标头添加到响应中,以避免出现这种情况。

相关内容