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