nginx如何解决请求跨域问题


本文摘自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如何解决请求跨域问题的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

linux如何查看nginx是否启动

nginx是什么

nginx服务器上,master进程和worker进程分别是什么

怎么下载nginx

如何仅在nginx web服务器中启用tls1.2

nginx如何实现高并发

nginx怎么配置404

docker下如何安装nginx

linux服务器如何安装nginx

如何使用nginx处理请求

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...