午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 利用Nginx代理如何解決前端跨域問題詳析

利用Nginx代理如何解決前端跨域問題詳析

熱門標簽:山東400電話如何辦理 電銷機器人對公司貢獻 電話機器人服務差 智能外呼系統如何部署 高德地圖標注在建線路 蘭州語音電銷機器人軟件 ai電銷機器人 如何開發 宿州防封外呼系統廠家 濟源電話外呼系統怎么樣

前言

Nginx(發音同“engine X”)是異步框架的網頁服務器,也可以用作反向代理、負載平衡器和HTTP緩存。

本文將講述如何使用 Nginx 在 Web 前后端分離開發中實現路由的轉發。

Web 開發通常使用的是前后端分離的開發模式,即前端和后端分別進行開發,前端通過 Ajax 請求后端的接口,將獲取數據將數據渲染到頁面上。前端開發會使用腳手架搭建前端開發環境,其底層通常會啟動一個本地服務器,通常使用的是 nodejs 的 Express 框架。而后端則是提供接口,一般是放在線上的一個開發用的域名下。

這在開發過程中會導致 跨域 問題,即在一個域名下的網頁,是無法通過 Ajax 請求另一個(不同源)域名下的接口 API 的。這是瀏覽器的同源策略,是瀏覽器的一個非常重要的安全策略。

解決這個問題的其中一個方案是使用 代理。具體來說,就是在本地啟動一個服務器(如 localhost:4000),發送給該服務器的請求會根據請求路由(比如判斷 url 是否有前綴 /api)進行轉發,分別轉發到前端開發的服務器(如 localhost:3000),以及后端服務器(比如 dev.yoursite.com)。這樣通過一個代理服務器,因為請求的 api 都是同一個域名下的,自然就不會造成跨域問題,從而導致請求失敗。

下面我們就來講解如何使用 Nginx 來實現反向代理。

簡單認識 Nginx 配置文件

安裝好 Nginx 后,我們需要確定下 Nginx 的默認配置文件的位置。執行命令 nginx -t,該命令會檢測 nginx 的默認配置文件語法是否正確,并進行測試,最后輸出結果。我們可以從輸出中得到默認配置文件所在的位置。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

還有另外一種方法可以得到默認配置文件的位置,那就是執行 nginx -h。該命令會輸出 nginx 的簡易幫助文檔,其中的 -c filename 的配置項說明也指出了默認配置項的路徑。

-c filename : set configuration file (default: /etc/nginx/nginx.conf)

通過這個文檔,我們也可以知道,使用 -c 配置項可以自定義配置文件。如果不指定文件,使用默認配置文件。

下面我們來修改一下 Nginx 到這個默認配置文件 nginx.config 來首先代理功能。

nginx.config 文件的 http 后面的代碼塊中,應該會有類似下面這行的代碼:

include /etc/nginx/conf.d/*.conf;

這行代碼的作用是將 /etc/nginx/conf.d 目錄下的后綴為 .conf 的文件內容嵌入到引入位置中,作為配置的一部分執行。

如果你是在 macOS 安裝的 Nginx,可能會有點不同。我使用 brew 安裝的 Nginx 為為 include servers/*;,對應嵌入的是 servers 目錄下的所有文件。

為什么會用到這種嵌入的語法呢?因為這樣我們就可以將不同項目需要用到的配置放到不同的配置文件里,好處就是可以快速地找到對應項目要修改的配置文件,不用擔心不小心修改了其他項目的配置。另外如果直接在 nginx.conf 上修改,使其變得臃腫。這符合設計模式的 單一職責原則。

此外,你可以會奇怪conf.d 目錄的命名為什么要加上 .d ?如果你使用 Linux 過一段時間,你會發現某些目錄或文件的末尾會加上一個 d,比如 httpd、crond、vsftpd 等。其實這是為了說明這些文件都屬于是 daemon(服務)。這里的服務指的是系統的服務,主要分為系統本身需要的服務,以及負責網絡的服務。我們的 conf.d 就是屬于后者。

編寫 Nginx 配置文件

我們在 conf.d 目錄下創建名為 demo.conf 的文件,寫入以下內容,然后啟動 Nginx。

server {
 listen 5000;
 server_name localhost;

 location / {
 proxy_pass http://localhost:3000;
 }
 location /api/ {
 proxy_pass http://localhost:4000;
 }
}

該配置啟用了 localhost:5000 的服務器,將 localhost:5000 下開頭為 /api/ url 請求代理到了 localhost:4000(后端接口服務器)。其他請求則是代理到 localhost:3000(前端)。下面我們具體解析一下配置文件里面內容的作用。

listen 設置了服務器的端口號,server_name 則設置了主機名。

location

location 表示進行路由的匹配,如果匹配則執行對應代碼塊里的操作。location 可以使用 前綴匹配 以及 正則匹配(需要以 ~* 或 ~ 開頭)。我們這里的配置使用的是前綴匹配。

這里有個點需要注意一下,Nginx 的路由匹配和一般的按順序匹配第一個的路由匹配方案(比如后端的 gin、前端的 vue-router 的路由匹配方案)不同,nginx 匹配路由的方式為:

  1. 首先進行前綴匹配,遍歷所有的前綴匹配,從中選擇前綴匹配最長的;
  2. 然后會進行正則匹配,在所有正則匹配中,從前往后選擇第一個符合的;
  3. 如果能找到匹配的正則匹配,使用其對應的配置;如果沒有,則使用之前找到的那個最長的前綴匹配對應的配置。

所以,當請求為 localhost:5000/api/xx 時, / 和 /api/ 都能夠前綴匹配。根據規則,雖然位置更靠前的 / 也符合前綴匹配,但 /api 更長,所以最終匹配的是 /api。

proxy_pass

確定好匹配的 location 后,我們再看看 proxy_pass 又做了什么操作。proxy_pass 用于將請求路由映射到指定的協議和地址。本質是將發送給 Nginx 的請求處理并發送到另一個服務器,然后將返回的數據作為 Nginx的返回數據返回。

proxy_pass 后如果使用的是 URI(端口后面至少有一個 /),那么 Nginx 就會 替換 掉 location 匹配的那部分字符。

listen 5000;
server_name localhost;
location /name/ {
 proxy_pass http://127.0.0.1/remote/; 
}
# localhost:5000/name/fstar
# 會被映射請求為
# 127.0.0.1/remote/fstar

可以看到,/name/ 的部分在映射時被移除(或者說是替換)了。

proxy_pass 后如果使用的是不是 URI(端口后沒有任何東西),Nginx 會將源請求完全映射到代理服務上:

listen 5000;
server_name localhost;
location /some/path/ {
 proxy_pass http://127.0.0.1;
}

# localhost:5000/some/path/x/y
# 會被映射請求為
# 127.0.0.1/some/path/x/y

這里的 /some/path 并沒有被移除。

我們的 demo.conf 文件的 proxy_pass 使用的不是 URI,所以是將路由完全映射到另一個服務。

思考題

請問,下面有兩段配置(區別是 proxy_pass 結尾是否有 /)?如果請求 /kite/api/xx,分別會映射為什么?

location /kite/api/ {
 proxy_pass http://localhost:5000;
}
location /kite/api/ {
 proxy_pass http://localhost:5000/;
}

前面我們講 proxy_pass 的時候說過,proxy_pass 后面如果不是 URI,會正常轉發;如果是 URI,就移除 location 匹配的前綴再進行轉發,體現的是替換路由的效果。上面這兩個配置的區別就在于末尾的這個 /,有 / 是 URI,沒有的不是 URI,從而導致完全不一樣的結果,依次分別為:

http://localhost:5000/kite/api/xx
http://localhost:5000/xx

所以,在寫 Nginx 配置的時候,一定要注意端口后面的 / 是否有必要保留。因為它的有無會導致兩種截然不同的效果。

參考文章

  • Nginx 官方文檔
  • stackoverflow - How do I rewrite URLs in a proxy response in NGINX

總結

到此這篇關于利用Nginx代理如何解決前端跨域問題的文章就介紹到這了,更多相關Nginx代理解決前端跨域內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:南寧 安陽 云南 晉中 佛山 巴中 衡水 畢節

巨人網絡通訊聲明:本文標題《利用Nginx代理如何解決前端跨域問題詳析》,本文關鍵詞  利用,Nginx,代理,如何,解決,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Nginx代理如何解決前端跨域問題詳析》相關的同類信息!
  • 本頁收集關于利用Nginx代理如何解決前端跨域問題詳析的相關信息資訊供網民參考!
  • 推薦文章
    亚洲国产精品久久精品怡红院| 在线不卡的av| 精品一区二区三区四| 风间由美一区二区三区| 亚洲成在线观看| 日韩一区二区三区四区在线| 国产精品一级久久久| 国产欧美一区二区三区网站| 91在线视频免费| 久久久久久久综合色一本| 免费黄色三级网站| 亚洲综合精品一区二区| 色视频一区二区| 国产欧美日韩成人| 男人天堂网视频| 亚洲免费视频一区二区| 日韩精品每日更新| 黄色av网址在线观看| 成人国产亚洲精品a区天堂华泰| 亚洲香蕉成视频在线观看| 一级免费黄色录像| 亚洲精品一区二| 欧美韩国理论所午夜片917电影| 亚洲国产精品人人做人人爽| 日本一区二区高清视频| 成人精品视频99在线观看免费| 日韩高清免费观看| 综合网在线视频| 蜜桃av噜噜一区二区三区麻豆 | 日本一级片在线播放| 亚洲一二三区av| 4444kk亚洲人成电影在线| 日韩精品中文在线观看| 国产精品视频麻豆| 国产视频在线一区| 精品成人av一区二区三区| 日韩电影大全在线观看| 欧美超级免费视 在线| 午夜日韩在线电影| 国产在线播放一区三区四| 成人免费毛片xxx| 亚洲国产成人精品无码区99| 91在线视频精品| 色综合视频网站| 精品国产拍在线观看| 91美女片黄在线| 男操女视频网站| 女人18毛片毛片毛片毛片区二| 天堂视频免费看| 涩涩涩999| 国产精品激情av在线播放| 亚洲精品自拍视频| 一本久久精品一区二区| www日韩大片| 性xxxx视频| 久久精品视频8| 星空大象在线观看免费播放| 青青青在线观看视频| 国产精品12| 久久久久国产精品一区| 欧美精品一区二区久久久| 亚洲国产人成综合网站| 欧美日韩一区二区三| 免费观看国产精品视频| 97超级碰碰人国产在线观看| xvideos亚洲人网站| 中文字幕日韩精品在线| 久色乳综合思思在线视频| 自拍偷拍亚洲区| 美日韩精品免费观看视频| 欧美国产日韩视频| 免费97视频在线精品国自产拍| 国产亚洲精品久久| 日韩精品在线视频| 久久这里有精品视频| 精品国产一区二区三区不卡| 国产亚洲精品久久久久动| 午夜精品久久久久久久久久久久久| 欧美激情亚洲自拍| 热99在线视频| 99国产超薄丝袜足j在线观看 | 国产又粗又硬又长| av动漫在线播放| 91色国产在线| 精品伦精品一区二区三区视频密桃| 麻豆视频在线观看| 亚洲系列第一页| 国内精品写真在线观看| 欧美激情在线观看视频免费| 一区二区三区不卡视频在线观看| 日韩欧美精品网站| 亚洲亚裔videos黑人hd| 日韩免费中文字幕| 肥熟一91porny丨九色丨| 免费观看黄色大片| 国产一级免费片| 国产无码精品在线观看| 精品国产亚洲AV| 国产不卡在线视频| 日韩美女视频19| 亚洲国产综合色| 亚洲欧美精品中文字幕在线| 国产日韩综合一区二区性色av| 欧美lavv| 日本熟妇人妻中出| 午夜国产福利一区二区| 香蕉视频成人在线| 中文字幕一区二区三区四区 | 91精品国产色综合| 久久久久久久久久久综合| 精品无码人妻少妇久久久久久| 午夜影院在线看| 久久精品午夜| 久久久久久97三级| 亚洲精品www| 91中文字精品一区二区| 欧美特级aaa| 国产在线视频你懂的| 捆绑调教一区二区三区| 亚洲精选视频免费看| 国产丝袜一区视频在线观看| 91精品天堂| 五月天婷婷在线观看视频| 一二三区中文字幕| 亚洲一区二区三区四区五区黄| 亚洲国产精品成人av| 成人激情直播| 三上悠亚av一区二区三区| 国产免费a视频| 国产精品久久久久久久久免费桃花| 亚洲欧美中文另类| 一区二区三区电影| 香蕉久久久久久久| 久久精品123| 午夜免费久久看| 日韩av观看网址| 免费毛片小视频| 国产精品久久久久久久久久精爆| 成人一区二区三区视频在线观看| 欧美日韩高清影院| 国产精品69精品一区二区三区| 日韩肉感妇bbwbbwbbw| 国产白浆在线观看| 欧美日韩亚洲不卡| 成人免费视频视频在| 亚洲成a人片在线www| 成人毛片在线精品国产| 精品成人av一区| 97超级碰在线看视频免费在线看| 亚洲色图久久久| 好吊色一区二区| 日韩丝袜情趣美女图片| 国内精品国语自产拍在线观看| 妺妺窝人体色WWW精品| 蜜桃视频一区二区| 精品国产区一区| 一级特黄妇女高潮| 中文文字幕一区二区三三| 成人午夜福利视频| 日韩精品最新网址| 无遮挡亚洲一区| 婷婷丁香综合网| 中文字幕制服丝袜一区二区三区| 日本三级久久久| 精品无码在线视频| 成人一区二区三区视频在线观看| 色综合伊人色综合网站| 看欧美ab黄色大片视频免费| 久热成人在线视频| 美日韩精品视频免费看| 三级性生活视频| 国产精品99久久久久久宅男| 九九久久综合网站| 好吊操视频这里只有精品| 肉丝袜脚交视频一区二区| 久久伊人精品天天| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 性欧美亚洲xxxx乳在线观看| 一卡二卡三卡四卡| 亚洲精品视频一区| 精品国产免费久久久久久尖叫| 欧美激情图片小说| 午夜亚洲国产au精品一区二区| 日本一区二区三区视频在线播放 | 国产黄a三级三级| 亚洲精品乱码久久久久久| 日本一区不卡| 亚洲 国产 欧美 日韩| 毛片精品免费在线观看| 无码人妻一区二区三区免费n鬼沢| 毛片av一区二区| 97香蕉久久超级碰碰高清版| 极品蜜桃臀肥臀-x88av| 天天综合网 天天综合色| 欧美精品免费观看二区| 亚洲精品免费在线观看视频| 深夜福利日韩在线看| 丰满少妇一区二区三区| 亚洲男同1069视频| 日本日本精品二区免费| 丰满人妻av一区二区三区| 久久视频在线播放| 五月天婷婷丁香网| 午夜av一区二区| 真人抽搐一进一出视频| 91捆绑美女网站| 国产日韩欧美精品| 欧美一级在线免费观看| 欧美亚洲国产视频| 在线观看污污网站| 亚洲色图校园春色| 五月天综合视频| 欧美精品三级在线观看| 欧美日韩怡红院| 亚洲欧美在线aaa| 精品一区二区三区日本| 久久激情一区| 国产ts人妖一区二区三区| 久久青青草视频| 亚洲性生活视频| 亚洲怡红院在线观看| 精品国产乱码久久久久久夜甘婷婷| 中文字幕一二三区| 一个色综合av| 性生交免费视频| 午夜婷婷国产麻豆精品| 男人女人黄一级| 亚洲一区二区三区影院| 免费国产黄色网址| 亚洲成年人影院| 成人性生生活性生交12| 亚洲一级二级在线| 亚洲第一中文av| 欧美三级欧美成人高清www| 中文字幕日韩久久| 在线观看中文字幕不卡| 欧美一级视频在线| 日韩一区二区在线播放| 午夜三级在线观看| 国产亚洲精品91在线| 国产精品21p| 欧美一级视频在线观看| 天堂成人在线视频| 99精彩视频在线观看免费| 成人精品一区二区三区中文字幕| 欧美日韩综合久久| 2021中文字幕一区亚洲| 国产综合中文字幕| 欧美手机在线视频| 精品人体无码一区二区三区| 中文字幕亚洲综合| av大片在线免费观看| 国产精品第三页| 国产精品一区二区久久精品爱涩 | 国产情人综合久久777777| 日本黄网站免费| 91精品国产综合久久精品性色| 午夜爱爱毛片xxxx视频免费看| 欧美多人爱爱视频网站| 美女视频网站久久| www.国产二区| 天天综合网天天综合色| www.自拍偷拍| 欧美激情视频网| 狠狠久久亚洲欧美| 欧美国产亚洲一区| 日韩一级片网址| 性色av免费观看| 91免费人成网站在线观看18| av资源站一区| 95视频在线观看| 久久影院中文字幕| 美女在线观看视频一区二区| 成人免费在线小视频| 精品国产乱码久久久久久1区2区| 欧美成人一区二区视频| 国产精品日韩一区二区| 亚洲免费观看在线视频| 偷拍夫妻性生活| 国产不卡av在线免费观看| 99精品国产99久久久久久白柏| 国产精品嫩草影院8vv8| 在线精品播放av| 国产精品一级在线| 在线播放黄色av| 色综合久久88| 波多野结衣一区二区三区 | 中文字幕第九页| 91av成人在线| 中文在线资源观看网站视频免费不卡 | 成年人视频软件| 国产精品久久久av| 亚洲男同1069视频| 日本熟伦人妇xxxx| 国产日韩久久| 亚洲成人免费在线观看| 久久在线视频精品| 日本在线观看一区| 欧美三级电影在线看| 无码人妻av一区二区三区波多野| 国内一区在线| 日韩欧美国产小视频| 亚洲av成人精品毛片| 亚洲视频第二页| 97视频在线观看视频免费视频 | 日本韩国一区二区三区视频| 国产精品无码天天爽视频| 国产成人a亚洲精v品无码| 亚洲日本中文字幕| 99精品国产热久久91蜜凸| 1024手机在线视频| 欧美凹凸一区二区三区视频| 欧美成人一区二区三区片免费| 日本不卡123| 手机在线观看日韩av| 亚洲va久久久噜噜噜久久天堂| 亚洲一区精品在线| 国产精品久久久久久免费免熟| 国内自拍视频网| 国产国语刺激对白av不卡| 日本国产一区二区| 秋霞午夜av一区二区三区| 国产乱叫456| 99在线视频首页| 亚洲国产天堂久久综合网| 懂色av中文字幕一区二区三区| 在线小视频你懂的| 日韩精彩视频| 久久久久北条麻妃免费看| 96av麻豆蜜桃一区二区| 久久久久久91亚洲精品中文字幕| 欧美国产激情视频| 欧美激情中文字幕乱码免费| 亚洲一区成人在线| 美女在线视频一区| 欧美丰满美乳xxⅹ高潮www| 在线不卡日本| 日韩精品小视频| 国产精品免费久久久久| 国产一级免费视频| 久久综合桃花网| 亚洲在线观看视频网站| 亚洲精品久久久久国产| 亚洲欧美中日韩| 日韩在线视频第一页| 国产一区第一页| 国产一级片黄色| 国产精品扒开腿爽爽爽视频| 亚洲成人免费影院| 久久中文在线| 国产黄色大片免费看| 天天想你在线观看完整版电影免费| 最近2019中文字幕大全第二页| 国产精品美女久久久久高潮| 五月婷婷丁香六月| www中文在线| 国产淫片av片久久久久久| 国产精品欧美一区二区| 亚洲精品一二区| 亚洲一区在线播放| 国产成人aaa| 国产三级按摩推拿按摩| 久久久久亚洲无码| 久久人人爽人人爽人人av| 亚洲综合精品伊人久久| 久久福利视频导航| 日韩午夜精品电影| 亚洲国产欧美日韩另类综合| 精品一二三四区| 国产精品久久久国产盗摄| 五月天婷婷久久| 性欧美videossex精品| 国产精品50p| 国产成人女人毛片视频在线| 国内精品免费午夜毛片| 精品国产欧美成人夜夜嗨| 一本久久综合亚洲鲁鲁| 亚洲国产日韩欧美综合久久| 欧美伊人久久久久久午夜久久久久| 亚洲综合在线免费观看| 亚洲精品成人少妇| 国产精品家庭影院| 国产片一区二区| 久久综合久久综合久久| 91丨九色丨黑人外教| 久久久综合网站| 日韩av在线播放观看| 日韩黄色精品视频| 欧美精品韩国精品| 最新中文字幕在线观看视频| 国产尤物在线视频| 日日夜夜操视频| 中文在线字幕av| 91精品国产乱码久久久久| 999久久久久| 中文在线免费看视频| 日本免费www| 91精品又粗又猛又爽| ass极品水嫩小美女ass| 潘金莲一级淫片aaaaaaa| 国产在线a视频| 亚洲AV成人精品| 双性尿奴穿贞c带憋尿| 国产ts丝袜人妖系列视频| av男人的天堂av| www.99热| 美女毛片在线观看| 男人的天堂一区二区| 成人h动漫精品一区二区下载| 成人黄色三级视频|