nginx解決跨域問(wèn)題的實(shí)例方法
前后端分離,使用nginx解決跨域問(wèn)題
前端:vue.js+nodejs+webpack
后臺(tái):SpringBoot
反向代理服務(wù)器:nginx
思想:將前端代碼打包,讓nginx指向靜態(tài)資源,nginx對(duì)后臺(tái)請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)。
1、將前端代碼打包:
npm run build
會(huì)生成一個(gè)dist文件夾。包含一個(gè)index.html文件和一個(gè)static文件夾,路徑以我本地為例:
/Users/xxx/ideaProjects/webtest/dist
2、打開(kāi)
/usr/local/etc/nginx目錄下的nginx.conf,在server中添加如下:
listen 80; #原為8080,避免沖突,更改為80 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /Users/xxx/ideaProjects/webtest/dist; index index.html; # 此處用于處理 Vue、Angular、React 使用H5 的 History時(shí) 重寫的問(wèn)題 if (!-e $request_filename) { rewrite ^(.*) /index.html last; break; } } # 代理服務(wù)端接口 location /api/ { proxy_pass http://localhost:8080/;# 代理接口地址 }
測(cè)試
前端發(fā)送請(qǐng)求:http://localhost/test ,vue-router將其重定向?yàn)閔ttp://localhost/api/demo/1,實(shí)際訪問(wèn)是http://localhost:8080/demo/1。
直接向后臺(tái)發(fā)送請(qǐng)求:訪問(wèn)http://localhost/api/demo/1,實(shí)際訪問(wèn)是:http://localhost:8080/demo/1
內(nèi)容擴(kuò)展思考:
1).
# 代理服務(wù)端接口
location /api/ { proxy_pass http://localhost:8080/;# 代理接口地址 }
代理接口地址只到8080,那么他會(huì)自動(dòng)將后臺(tái)項(xiàng)目的名稱加上??? 比如接口是http://148.70.110.87:8080/項(xiàng)目名稱/方法名稱 。。。
2).js 中是這樣請(qǐng)求的 ,nginx是按照您上面的配置,但是請(qǐng)求出錯(cuò)http://148.70.110.87/api/index2 404 (Not Found)
axios.post('/api/index2') .then( (response) =>{ console.log(response); }) .catch( (error)=> { console.log(error); });
3).您的第三個(gè)步驟,測(cè)試,實(shí)在看不懂要是能有相關(guān)的代碼就好了
相關(guān)文章
Nginx反向代理如何到訪問(wèn)者機(jī)器上(后端調(diào)試)
這篇文章主要介紹了Nginx反向代理如何到訪問(wèn)者機(jī)器上(后端調(diào)試),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書)
這篇文章主要介紹了Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06nginx實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)
本文給大家分享的是使用nginx實(shí)現(xiàn)代理(請(qǐng)求轉(zhuǎn)發(fā))的教程及簡(jiǎn)單示例,非常實(shí)用,有需要的小伙伴可以參考下2017-07-07nginx實(shí)現(xiàn)IP地址透?jìng)鞯氖纠a
默認(rèn)后端服務(wù)器只能看到是前端nginx調(diào)度器訪問(wèn)的本機(jī),本文主要介紹了nginx實(shí)現(xiàn)IP地址透?jìng)鞯氖纠a,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Nginx負(fù)載均衡以及動(dòng)靜分離的原理與配置
動(dòng)靜分離和負(fù)載均衡都是配置nginx實(shí)現(xiàn)對(duì)請(qǐng)求進(jìn)行操作,所以下面這篇文章主要給大家介紹了關(guān)于Nginx負(fù)載均衡以及動(dòng)靜分離的相關(guān)資料,需要的朋友可以參考下2021-06-06詳解nginx+php執(zhí)行請(qǐng)求的工作原理
這篇文章主要介紹了詳解nginx+php執(zhí)行請(qǐng)求的工作原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Waiting for server respnse耗時(shí)過(guò)長(zhǎng)原因排查及解決
這篇文章主要給大家介紹了關(guān)于Waiting for server respnse耗時(shí)過(guò)長(zhǎng)原因排查及解決的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-05-05