前端解决跨域-代理服务器-跨域(二)

跨域科普

这里的域指的是协议+域名+端口号,当目标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 咯。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值