校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 如何用Nginx解決前端跨域問題

如何用Nginx解決前端跨域問題

熱門標簽:外呼系統不彈窗 云會外呼系統 智能電話機器人坐席 柳州市機器人外呼系統報價 外呼系統的經營范圍 涪陵商都400電話開通辦理 安陽ai電銷機器人軟件 申請400電話價格多少 廈門營銷外呼系統平臺

前言

在開發靜態頁面時,類似Vue的應用,我們常會調用一些接口,這些接口極可能是跨域,然后瀏覽器就會報cross-origin問題不給調。

最簡單的解決方法,就是把瀏覽器設為忽略安全問題,設置--disable-web-security。不過這種方式開發PC頁面到還好,如果是移動端頁面就不行了。

解決辦法

使用Nginx轉發請求。把跨域的接口寫成調本域的接口,然后將這些接口轉發到真正的請求地址。

舉個栗子

例如我們在開發一個Vue應用。

原先:

調試頁面是: http://192.168.1.100:8080/

請求的接口是: http://ni.hao.sao/api/get/info

步驟一:

請求的接口是: http://192.168.1.100:8080/api/get/info

PS:這樣就解決了跨域問題。

步驟二:

安裝好Nginx后,去到/usr/local/etc/nginx/目錄(這是Mac的),修改nginx.conf文件。

步驟三:

把默認的server配置注釋掉。

在下面增加:

  server{
    listen 8888;
    server_name 192.168.1.100;
 
    location /{
      proxy_pass http://192.168.1.100:8080;
    }
 
    location /api{
      proxy_pass http://ni.hao.sao/api;
    }
  }

保存后,啟動Nginx。

PS:并不需要太了解Nginx的配置,很簡單的。

步驟四:

訪問: http://192.168.1.100:8888/

搞定。

PS:注意訪問的端口是‘8888',有其他域的地址繼續加location就行了。

錯誤示范

我一開始不太懂Nginx的配置,以為可以如下配置。

  server{
    listen 8080;
    server_name 192.168.1.100;
 
    location /api{
      proxy_pass http://ni.hao.sao/api;
    }
  }

之所以這么寫,是我認為這樣可以讓Nginx幫我監聽8080的請求,然后只轉發匹配的請求。我沒有意識到的是Nginx這么寫后,是需要占用8080端口的。

既然需要占用端口,那也就不能再被其他相同協議的進程占用,就導致開發的頁面無法以8080端口啟用。經同事提點,才想起這事情,換下思路,就有了最上面的方法。

總結

其實不僅是在開發調試時候能這么干,在生產環境也能這么玩。利用Nginx轉發請求之后,就能夠讓所要部署的靜態頁面不需要放在跟請求接口同域的地方。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:福州 蕪湖 晉城 綏化 巴中 孝感 撫順 南充

巨人網絡通訊聲明:本文標題《如何用Nginx解決前端跨域問題》,本文關鍵詞  如,何用,Nginx,解決,前端,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何用Nginx解決前端跨域問題》相關的同類信息!
  • 本頁收集關于如何用Nginx解決前端跨域問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 酒泉市| 海盐县| 姚安县| 大方县| 天柱县| 商南县| 郓城县| 石家庄市| 巴林右旗| 仪征市| 章丘市| 巩义市| 盐山县| 秦皇岛市| 奉节县| 治县。| 鸡东县| 合山市| 克东县| 金寨县| 清苑县| 维西| 永安市| 阳春市| 定边县| 甘谷县| 延寿县| 政和县| 东乡县| 探索| 巨鹿县| 石渠县| 黎城县| 衡阳县| 凌源市| 得荣县| 清镇市| 尼玛县| 赤峰市| 肇州县| 正镶白旗|