全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 694|回复: 2
打印 上一主题 下一主题

cf 跨域问题设置了Access-Control-Allow-Origin ,put也不起作用

[复制链接]
跳转到指定楼层
1#
发表于 2023-10-18 23:30:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我ajax  get获取r2的数据, 设置了重写规则影响增加了Access-Control-Allow-Origin *   ,可以用,但是我预签名url。上传使用put的时候,为什么又提示跨域错误呢。还需要重写什么吗?
3#
发表于 2023-10-19 03:29:18 | 只看该作者
跨域错误通常是由浏览器的同源策略引起的,即不允许通过JavaScript在一个域下向不同域的服务器发起请求。虽然你在获取数据时设置了"Access-Control-Allow-Origin *" 来解决跨域问题,但在进行预签名 URL 的上传时,这个设置通常不生效,因为预签名 URL 是在服务器端生成的。

在进行预签名 URL 上传时,你可以考虑以下几点来解决跨域问题:

1. **CORS 配置**: 确保你的服务器允许跨域的 PUT 请求,类似于你对 GET 请求设置的 CORS 规则。你需要在服务器端配置支持跨域的规则,包括允许的域和允许的 HTTP 方法。

2. **检查请求头**: 确保在上传时请求头中包含必要的信息,例如授权令牌等。这些请求头可能需要在服务器端进行验证。

3. **使用代理**: 如果你无法直接解决跨域问题,考虑使用一个代理服务器。你的前端应用可以向代理服务器发送请求,代理服务器再将请求转发到目标服务器。这样,代理服务器可以控制跨域请求,并且可以将响应返回给前端应用。

确保你的服务器端和前端代码都正确配置,以支持跨域的 PUT 请求,这样你就可以成功完成预签名 URL 的上传。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-16 06:14 , Processed in 0.068776 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表