has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 阿里云oss
时间: 2023-11-16 17:00:48 浏览: 108
这个问题是由于阿里云OSS服务没有设置CORS导致的。要解决这个问题,需要在阿里云OSS服务中设置CORS规则。具体步骤如下:
1. 登录阿里云OSS控制台,选择需要设置CORS规则的Bucket。
2. 进入Bucket的“基础设置”页面,找到“跨域资源共享(CORS)”选项,点击“设置”按钮。
3. 在“跨域资源共享(CORS)”页面中,点击“添加规则”按钮。
4. 在“添加规则”页面中,根据需要设置CORS规则,包括“允许的来源”、“允许的方法”、“允许的Header”、“暴露的Header”和“缓存时间”等。
5. 点击“确定”按钮保存CORS规则。
设置完CORS规则后,就可以解决“has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.”问题了。
相关问题
has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource.
这个错误信息说明在发送请求时,服务器返回的响应头中没有包含Access-Control-Allow-Origin字段,导致浏览器拒绝接受该响应。这是由于跨域访问(Cross-Origin Resource Sharing,CORS)的限制所引起的。
为了解决这个问题,可以添加一个名为CorsConfig的配置类,其中配置了允许跨域访问的规则。具体做法是使用addCorsMappings方法将允许跨域访问的规则添加到CorsRegistry中,可以设置allowedOriginPatterns为"*",表示允许来自所有域的请求;allowedHeaders设置为CorsConfiguration.ALL,表示允许所有请求头;allowedMethods设置为CorsConfiguration.ALL,表示允许所有请求方法;allowCredentials设置为true,表示允许发送身份验证信息;maxAge设置为3600,表示设置响应缓存的最大时间。通过这个配置类,服务器会在响应头中添加Access-Control-Allow-Origin字段,从而允许跨域访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the ...](https://blog.csdn.net/qq_45800640/article/details/118422632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [corsyusha:简单快速的代理,可在针对现有API进行原型设计时绕过CORS问题,而不必担心CORS](https://download.csdn.net/download/weixin_42176612/18261495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [解决前后端跨域报错:has been blocked by CORS policy: No ‘Access-Control-Allow-Origin](https://blog.csdn.net/wsaicyj/article/details/127814374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
vue blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource.
跨域资源共享(CORS)是一种机制,它使用额外的HTTP头来告诉浏览器让运行在一个origin(域)上的Web应用被准许访问来自不同源服务器上的指定的资源。如果一个资源的访问没有得到允许,那么就会出现“blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.”的错误提示。解决这个问题的方法有以下几种:
1.在服务端设置Access-Control-Allow-Origin头部信息,允许跨域访问。例如,在Node.js中,可以使用cors模块来设置:
```javascript
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
```
2.使用代理服务器,将请求转发到目标服务器。例如,在vue.config.js中配置代理:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
```
3.在前端使用JSONP或者WebSocket等技术进行跨域请求。
阅读全文