前后端配置
具有的限制:
1.同源策略:
- 协议相同
- 域名相同
- 端口相同
2.不能发送AJAX请求
其中之一解决方案/策略:
CORS(cross orgin resource sharing)
服务端:
//配置跨域服务(配置完后在下面使用)
builder.Services.AddCors(options =>
{
options.AddPolicy("cors",p =>
{
p.AllowAnyOrigin() //允许来自任意源(域名)的请求访问资源
.AllowAnyMethod() //允许任意 HTTP 方法的请求(例如 GET、POST、PUT、DELETE 等)
.AllowAnyHeader(); //允许请求中包含任意的 HTTP 头部信息
});
});
//跨域配置之后在此使用
app.UseCors("cors");
客户端:在vue.config.js文件配置
devServer:{
proxy:{
"/api":{ //指定需要代理的路径前缀。在这个配置中,任何以 /api 开头的请求将会被代理转发。
target:"https://localhost:7192/api",//服务器请求地址 (看后台),表示所有匹配到 /api 的请求将会被转发到这个地址。
secure:false,//https需要配置这个参数
changeOrigin:true,//请求头host属性,设置为false会发送本机真实数据过去,true的话会把本机host设置成target
pathRewrite:{
"^/api":"" //是一个重写路径的对象,^是占位符。在这里,它的作用是将匹配到的路径中的 /api 前缀去掉,因为目标地址已经包含了 /api。
}
}
}
}