Nginx代理后端接口,并允许跨域
由于前端访问后端服务接口会报错跨域,于是通过nginx用作接口代理,设置允许跨域,最终通过访问nginx代理,请求到了后端接口数据,废话少说,直接上代码
下面展示 nginx
配置。
server {
listen 8074;
location / {
add_header Access-Control-Allow-Origin'**;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken, Keep-Alive, User-Agent,X-Requested-With, If-Modified-Since, Cache-Control,Content-Type, Authorization';
if ($request method = 'OPTIONS") {
return 204;
}
proxy pass http://168.61.11.187:8000/
}
}
上述配置代码示意:
1.前端页面访问8074端口的接口地址,匹配到location后,设置header允许跨域
2.然后设置proxy pass 代理到后端接口地址,注意http://168.61.11.187:8000地址后面添加"/",nginx会把接口的后续路径拼接上去,从而实现接口请求转发。
好了,接下来去页面测试一下接口有没有请求通。
结束,收工。