问题描述:如下图所示,前端请求需要调用后端接口,但是前端请求和后端接口不在同一个域导致跨域问题。
解决方法:由于访问mpwebtst域名,需要跨域调用mptst.xxxx域名,因此只需对mptst.xxxx.cn域名的Nginx设置允许跨域即可。
Nginx添加配置参数如下:
(1)#来源域,*”代表允许所有,只允许来源域mpwebtst.xxxx.cn的请求
#add_header Access-Control-Allow-Origin Welcome to nginx!; 此处需要注销
(2)#指定允许跨域的方法,*代表所有
add_header Access-Control-Allow-Methods *;
(3)#带cookie请求需要加上这个字段,并设置为true,即允许cookie跨域
add_header Access-Control-Allow-Credentials true;
(4)#自定义的http头字段,*代表所有
add_header Access-Control-Allow-Headers *;
【注意】:由于“最小权限原则”,跨域只设置在server区域的location /mobile-backend/区,也就是局部生效。如果全局生效,需设置在http区。