一般前端的請求是 網址都是 域名(端口 訪問的是80 或者 443),而后端的服務是 8080 端口,這個時候你請求http://106.520.156.210:8080/vic-indoor-pc/selectAllUser就會報跨域問題了(端口不同)。所以我在每個請求加了統一的前綴 /api ,請求變成了 http://106.520.156.210/api/vic-indoor-pc/selectAllUse (端口必須和前端一樣)。
前端發送請求:
http://106.520.156.210/api/vic-indoor-pc/selectAllUse
nginx轉發變成了:
http://106.520.156.210:8080/vic-indoor-pc/selectAllUse
經過Nginx 這樣轉發,對于瀏覽器來說,訪問的就是 80 ,但是請求的其實是 8080。rewrite “^/api/(.*)$” /$1 break; 這句就是把 /api 給刪除掉了然后 轉發到了 ?http://106.520.156.210:8080/
????????????????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?存儲跨域的問題,也是這么解決的。(加上統一前綴)
????????????????location?/img/report?{ ????????????????????????proxy_set_header?Client-IP??????$Remote_addr; ????????????????????????proxy_pass?https://bilibili.oss-cn-shenzhen.aliyuncs.com/; ????????????????????????rewrite?"^/img/(.*)$"?/$1?break; ????????????????}
相關推薦:nginx教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦