Closed ghost closed 9 months ago
我刚验证了没问题,新创建的 api 密钥,新创建的存储桶,什么都没改。可以参考下:https://docs.zfile.vip/example/b2
你也可以新创建一个 api 密钥,新创建一个桶来验证,避免之前在 b2 上的某些配置影响,再逐一排查到底是 api 密钥的问题还是桶的问题。
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 还是会被拦截,如果桶设置为私有,就会401,公有就是403,上面的没有Access-Control-Allow-Origin
确认是新建的 bucket 么,没做任何配置,都采用默认,然后 zfile 中启用自动 cors 的状态下上传文件。
您的cros规则能正确启用嘛,我现在都是默认的配置,自动启用cros就会报 “设置跨域失败,请检查 API 密钥、地域、存储器名称是否正确,或 API 是否有权限设置跨域”
可以的,请确认是新创建的包含读写权限的密钥,和新创建的未做过任何配置的存储桶,如果这样能成功,再继续一步一步排查。如果有一些用的旧的,可能性因素就会很多,无法得知到底哪里的问题。
我这 zfile 中自动 cors 能正常打开,你最开始提 issue 时不也描述能正常打开么。
还有如果 zfile 中自动配置了 cors,就不要再去 b2 修改,不然会冲突。
因为我之前那个桶是公开的,配置cros就可以正确,删除新建桶后在设置公开,居然要收费了。。。。刚才通过查阅资料,在S3的sdk中,acl默认是private私有的,我现在也只能设置私有桶,确认创建的是包含读写权限的密钥,和新创建的未做过任何配置的存储桶。 在刚才,我创建了新的b2账号,所有的操作都是默认,在zfile中启用自动配置cors,还是会提示报错“设置跨域失败,请检查 API 密钥、地域、存储器名称是否正确,或 API 是否有权限设置跨域”
点错了。。。
这是我的相关信息
感觉是你密钥的问题呢,正常填写 AccessKey、SecretKey、EndPoint、地域后,存储空间名称会自动出现下拉选择,参见我那张图存储空间名称右侧的下拉框的箭头。
你可以使用其他支持 s3 的功能填写相同的信息试试是否正常。
AccessKey 一般是002开头 SecretKey 一般是 K002 开头 注意别复制到 zfile 中左右包含空格
AccessKey与SecretKey这两个开头是和地域有关的,我重新申请了新的密钥,如图片所示 现在存储桶已出现下拉选项,但配置cors还是会提示错误
好像 b2 在灰度测试一些功能,你截图的这个在我这里不存在。
你在截图下新创建这个 bucket,在 b2 上目前的 cors 规则页面
这是新的cors配置界面,再提这个issue之前有尝试过 “与每一个来源共享这个桶里的所有东西” ,但最终也会报错的
已确认是密钥权限的问题,必须使用 ALL 权限的必要才能自动配置 CORS
环境信息
4.1.5
源码启动
Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0
复现步骤
存储源配置为Backblaze,通用s3协议,是否自动配置 CORS 跨域设置已为开启状态,b2处也设置了与任何源共享,但是上传文件的时候就会提示403无权
预期结果
正常上传
实际结果
403无权
额外信息
无