全球主机交流论坛

标题: cf 跨域问题设置了Access-Control-Allow-Origin ,put也不起作用 [打印本页]

作者: 斌斌    时间: 2023-10-18 23:30
标题: cf 跨域问题设置了Access-Control-Allow-Origin ,put也不起作用
我ajax  get获取r2的数据, 设置了重写规则影响增加了Access-Control-Allow-Origin *   ,可以用,但是我预签名url。上传使用put的时候,为什么又提示跨域错误呢。还需要重写什么吗?
作者: YourLi    时间: 2023-10-19 02:35

作者: 小神    时间: 2023-10-19 03:29
跨域错误通常是由浏览器的同源策略引起的,即不允许通过JavaScript在一个域下向不同域的服务器发起请求。虽然你在获取数据时设置了"Access-Control-Allow-Origin *" 来解决跨域问题,但在进行预签名 URL 的上传时,这个设置通常不生效,因为预签名 URL 是在服务器端生成的。

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

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

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

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

确保你的服务器端和前端代码都正确配置,以支持跨域的 PUT 请求,这样你就可以成功完成预签名 URL 的上传。




欢迎光临 全球主机交流论坛 (https://loc.010206.xyz/) Powered by Discuz! X3.4