本文摘自PHP中文网,作者V,侵删。

一般前端的请求是 网址都是 域名(端口 访问的是80 或者 443),而后端的服务是 8080 端口,这个时候你请求http://106.520.156.210:8080/vic-indoor-pc/selectAllUser就会报跨域问题了(端口不同)。所以我在每个请求加了统一的前缀 /api ,请求变成了 http://106.520.156.210/api/vic-indoor-pc/selectAllUse (端口必须和前端一样)。
前端发送请求:
1 | http://106.520.156.210/api/vic-indoor-pc/selectAllUse
|
Nginx转发变成了:
1 | http://106.520.156.210:8080/vic-indoor-pc/selectAllUse
|
经过Nginx 这样转发,对于浏览器来说,访问的就是 80 ,但是请求的其实是 8080。rewrite "^/api/(.*)$" /$1 break; 这句就是把 /api 给删除掉了然后 转发到了 http://106.520.156.210:8080/
1 2 3 4 5 6 7 | location /api/vic-indoor-pc {
proxy_set_header Client-IP $Remote_addr;
proxy_pass http://106.520.156.210:8080/;
rewrite "^/api/(.*)$" /$1 break;
}
|
我还碰到了下载阿里OSS 存储跨域的问题,也是这么解决的。(加上统一前缀)
1 2 3 4 5 6 | location /img/report {
proxy_set_header Client-IP $Remote_addr;
proxy_pass https://bilibili.oss-cn-shenzhen.aliyuncs.com/;
rewrite "^/img/(.*)$" /$1 break;
}
|
相关推荐:nginx教程
以上就是nginx如何解决请求跨域问题的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
nginx使用多进程有啥好处
如何完全卸载nginx
怎么查看nginx端口
如何修改nginx的运行端口
nginx配置文件实例详解
nginx怎么配置404页面
nginx解决跨域的原理分析
nginx和php怎么交互
nginx使用多进程有什么好处
nginx怎么输出php错误日志
更多相关阅读请进入《nginx》频道 >>
转载请注明出处:木庄网络博客 » nginx如何解决请求跨域问题