## 什么是反向代理 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 ## 为什么要用反向代理 前端与后端接口对接的时候,若只使用完整的api链接,或者后端api不做处理的话,会造成跨域。从而无法正常调用到接口。这时候就需要将接口代理到本地以此来消除跨域生成的条件,这样一来就可以顺利调用api了。 ## 如何使用反向代理 1. 找到config.js,修改proxy下的配置 ![](https://box.kancloud.cn/fbca4a724b479c8b6ba15199e0019d5d_1882x610.png) 2. 第一个"/api"则为反向代理后的前缀 3. target则代表需要反向代理的地址 4. 如图所示,`http://localhost:8800/token`,代理后会变成`/api/token`。 5. 同时因为pathRewrite的作用,会把/api替换成空,则`http://localhost:8800/api/token`,代理后地址也会变成`/api/token`。 6. 如果需要多个,则只需像下面配置即可 ~~~ proxy: { '/api': { target: 'http://localhost:8800', changeOrigin: true, pathRewrite: { '^/api': '' }, }, '/app': { target: 'http://localhost:8801', changeOrigin: true, pathRewrite: { '^/app': '' }, }, }, ~~~