婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Nginx反向代理解決跨域問題詳解

利用Nginx反向代理解決跨域問題詳解

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

問題

在之前的分享的跨域資源共享的文章中,有提到要注意跨域時,如果要發(fā)送Cookie,Access-Control-Allow-Origin就不能設為*,必須指定明確的、與請求網(wǎng)頁一致的域名。在此次項目開發(fā)中與他人協(xié)作中就遇到此類問題。

解決思路

  1. 一般來說,與后臺利用CORS跨域資源共享將Access-Control-Allow-Origin設置為訪問的域名即可,這個需要后臺的配合,且有些瀏覽器是不支持的。
  2. 基于與合作方后臺的配合,利用nginx方向代理來滿足瀏覽器的同源策略來實現(xiàn)跨域

實現(xiàn)方法

反向代理概念

反向代理(Reverse Proxy)方式是指以代理服務器來接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器;并將從服務器上得到的結果返回給Internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一個服務器。反向代理服務器對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理的命名空間(name-space)中的內(nèi)容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務器)轉(zhuǎn)交請求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。

利用nginx反向代理實現(xiàn)跨域的步驟

去nginx官網(wǎng)下載包搭建nginx環(huán)境

修改nginx的配置文件,找到ngixn.conf文件,修改相關配置

http {
 include  mime.types;
 default_type application/octet-stream;

 sendfile  on;

 server {
  listen  8000; #監(jiān)聽8000端口,可以改成其他端口
  server_name localhost; # 當前服務的域名

  location /wili/api/ {
    proxy_pass http://chick.platform.deva.wili.us/api/; #添加訪問路徑錄為/will/api的代理配置
    proxy_http_version 1.1;
  }
  
  location / {
    proxy_pass http://localhost:8001;
    proxy_http_version 1.1;
  }
  
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
   root html;
  }

 }

}

配置的解釋:

  • 由配置信息可知,我們讓nginx監(jiān)聽localhost的8000端口,網(wǎng)站A與網(wǎng)站B的訪問都是經(jīng)過localhost的8000端口進行訪問。
  • 我們特殊配置了一個"/will/api"的訪問,使以"will/api”開頭的地址都轉(zhuǎn)到"http://chick.platform.deva.wili.us/api/"進行處理。
  • 訪問地址修改

既然我們已經(jīng)配置了nginx,那么所有的訪問都要走nginx,而不是走網(wǎng)站原本的地址(A網(wǎng)站localhost:8001,B網(wǎng)站http://chick.platform.deva.wili.us/api/)。所以要修改A網(wǎng)站中的請求接口換成http://localhost:8000/wili/api/。接下來啟動nginx,訪問配置的8000即可


需要注意的一點是nginx啟動可能會沖突端口造成啟動不成功,可在任務管理器查看是否啟動成功。

總結

瀏覽器跨域的解決方式有很多種:

  1. jsonp 需要目標服務器配合一個callback函數(shù)
  2. CORS需要服務器設置header:Access-Control-Allow-Origin
  3. nginx反向代理 這個方法一般很少有人提及,但是他可以不用目標服務器配合,不過需要你搭建一個中轉(zhuǎn)nginx服務器,用于轉(zhuǎn)發(fā)請求。(使用反向代理可能訪問網(wǎng)頁相對于之前響應會比較慢)

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

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

巨人網(wǎng)絡通訊聲明:本文標題《利用Nginx反向代理解決跨域問題詳解》,本文關鍵詞  利用,Nginx,反向,代理,解決,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Nginx反向代理解決跨域問題詳解》相關的同類信息!
  • 本頁收集關于利用Nginx反向代理解決跨域問題詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 灌南县| 霞浦县| 铜山县| 浪卡子县| 双城市| 广宗县| 清涧县| 东兴市| 红桥区| 郎溪县| 泰宁县| 济源市| 年辖:市辖区| 临沧市| 芦溪县| 永寿县| 淮阳县| 紫金县| 抚宁县| 莆田市| 亳州市| 泰兴市| 宝坻区| 永定县| 平顺县| 宝清县| 贵南县| 裕民县| 剑川县| 渝中区| 桓台县| 南和县| 红原县| 昌图县| 张家界市| 南平市| 华宁县| 盖州市| 涡阳县| 延津县| 瑞丽市|