跨域科普
这里的域指的是协议+域名+端口号,当目标url的协议、域名、端口号三者都和我们网站本身的url一样时,被认为同域,不一样则认为跨域,浏览器会对跨域的请求进行限制,出于安全方面的考虑。因此只有浏览器会遇到限制,而在node环境发起同样的请求不会受限制。
代理原理(大道理)介绍

如图,当用户A无法直接访问服务器B上面的资源(比如我们的跨域),但是代理服务器Z可以访问服务器B上面的资源。然后我们用户A直接访问代理服务器Z,代理服务器Z去访问服务器B拿到想要的资源再返回给用户A,这样我们就拿到了服务器 B上面的资源,解决跨域限制的问题。
方法解析
明白大道理后,重点就是怎么配置代理服务器也就是反向代理。
前端地址是A,后端服务器地址是B。
我们让请求地址是A/api/login,看到api后,这时候api就开始代理,发起请求B/login——成功解决跨域
所以记得全局配置请求头baseurl:A/api
配置文件配置代理
module.exports = {
devServer: {
proxy:{
"/api":{
target:"服务器地址",
changeOrigin:true,
ws:true,
pathRewrite: {
'^/api': ''
}
}
}
},
请求不同服务器就用不同代理,/api代表了B。也可以再设置/abc代表 C 咯。

829

被折叠的 条评论
为什么被折叠?



