Proxy代理解决跨域
时间: 2023-07-06 13:37:10 浏览: 122
使用 Proxy 代理可以解决前端跨域问题,具体步骤如下:
1. 在前端项目中,配置一个代理服务器,比如使用 http-proxy-middleware 或者 http-proxy 等库来实现。
2. 在配置中指定代理服务器的目标地址,以及需要代理的 API 地址。
3. 在前端代码中,使用代理服务器的地址来访问 API,而不是直接访问 API 地址。
例如,假设前端代码需要访问一个 API,地址为 http://api.example.com/data,但是由于浏览器的同源策略限制,无法直接访问该 API。为了解决这个问题,可以配置一个代理服务器,将 http://api.example.com/data 发送到代理服务器上,再由代理服务器转发请求到目标地址。
具体实现方式示例如下:
```
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
app.use('/api', createProxyMiddleware({ target: 'http://api.example.com', changeOrigin: true }));
app.listen(3000, () => {
console.log('Proxy server is running on http://localhost:3000');
});
```
上述代码使用了 express 库来创建一个代理服务器,将以 /api 开头的请求代理到 http://api.example.com 上,并启动代理服务器在本地的 3000 端口上。
在前端代码中,可以使用代理服务器的地址来访问 API,例如:
```
axios.get('/api/data')
```
上述代码中,axios 库会将 /api/data 发送到代理服务器上,代理服务器再将请求转发到 http://api.example.com/data 上,并将结果返回给前端代码。这样就可以避免浏览器的同源策略限制,实现跨域访问 API。
阅读全文
相关推荐
















