nodejs如何配置多个Access-Control-Allow-Origin
时间: 2023-12-23 09:28:40 浏览: 32
在Node.js中配置多个Access-Control-Allow-Origin可以通过设置响应头来实现。你可以使用以下代码示例来配置多个Access-Control-Allow-Origin:
```javascript
const http = require('http');
const server = http.createServer((req, res) => {
// 设置允许跨域的域名列表
const allowedOrigins = ['http://example1.com', 'http://example2.com'];
// 获取请求的Origin
const origin = req.headers.origin;
// 检查请求的Origin是否在允许的列表中
if (allowedOrigins.includes(origin)) {
// 设置允许跨域的域名
res.setHeader('Access-Control-Allow-Origin', origin);
}
// 其他响应头设置
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
// 处理请求
// ...
// 发送响应
res.end();
});
server.listen(3000);
```
在上面的代码中,我们首先定义了一个允许跨域的域名列表`allowedOrigins`,然后获取请求的Origin,并检查它是否在允许的列表中。如果是,则设置`Access-Control-Allow-Origin`响应头为请求的Origin,否则不设置该响应头。
此外,我们还设置了其他常见的跨域相关响应头,如`Access-Control-Allow-Methods`和`Access-Control-Allow-Headers`。
请注意,以上代码只是一个示例,你需要根据你的实际需求进行相应的修改和配置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)