假如我们的后端地址是 localhost:8088 ,如果是远程,把 localhost 改为 ip 即可。
第一步:前端环境配置,修改vue的配置文件如下图(记住一定要是用80端口)。同时要修改host文件,启动后输入浏览器地址。
vue本地启动后,建议使用管理员启动,可强制使用80端口
代码编写,记得要加上 withCredentials: true (主要是帮助cookie实现跨域),这个参数不同的请求工具的写法是有点区别的,这里是使用axios这个库,
let res = await axios({
method: "post",
url: "http://m.test.com:81/user/login",
withCredentials: true,
params: {
username: this.username,
password: this.password
}
});
第二步:nginx的配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name m.test.com;
location / {
proxy_pass http://localhost:8088; #反向代理,后端地址
proxy_cookie_domain localhost m.test.com; #修改cookie里域名
index index.html index.htm;
# 当用webpack-dev-server等中间件代理接口访问nignx时,此时无浏览器参与,故没有同源限制,下面的跨域配置可不启用
add_header Access-Control-Allow-Origin http://m.test.com; #当前端只跨域不带cookie时,可为*
add_header Access-Control-Allow-Credentials true;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}