一、为啥要叫反向代理
正向代理隐藏真实客户端,反向代理隐藏真实服务端。
二、反向代理解决的问题
反向代理解决的就是跨域,在前后端联调的情况下,前端有服务器,后端也有服务器,那么联调时,就存在跨域问题
三、反向代理的原理
通过伪造请求使得http请求为同源的,然后将同源的请求发送到反向代理服务器上,由反向代理服务器去请求真正的url,这样就绕过直接请求真正的url导致跨域问题。
四、反向代理如何使用
- 在项目目录下cmd
- 安装axios与http-proxy-middleware模块
npm i axios -S
npm i http-proxy-middleware
3.在项目/config/index.js中的dev中配置
4.在dev配置对象中找到proxyTable:{ }
5.请求和反向代理的流程示意图:
6、反向代理全流程(可以不用阅读),从请求开始
1)、地址栏请求地址:
http://localhost:8080/
2)、根据配置文件(项目根目录/config/index.js/的dev)对服务器的配置和路由找根组件
-
正在上传…
3)、根组件数据挂载后,立即发送axios请求,请求的是 “以 api 开头的路径(api/books)
4)、根据配置文件(项目文件夹/config/index.js)里的proxyTable的配置(以api开头的请求都会被转到地址 http://localhost:3000),axios.get(api/books),就相当于 axios.get(http://localhost:3000/books),这样就成功的把当前服务器的“api/books”路径的请求转到别的服务器http://localhost:3000/books的请求。