成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【Nginx】還不會使用Nginx解決跨域問題?肝這一篇就夠了!!

開發 項目管理
前端為H5項目,后端為Java、PHP、Python等項目。而且大部分后端服務并不會只部署一套服務,而是會采用Nginx對后端服務進行負載均衡。

作者個人研發的在高并發場景下,提供的簡單、穩定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業提供了精準定時調度方案,經受住了生產環境的考驗。為使更多童鞋受益,現給出開源框架地址:https://github.com/sunshinelyz/mykit-delay

寫在前面

當今互聯網行業,大部分Web項目基本都是采用的前后端分離模式。前端為H5項目,后端為Java、PHP、Python等項目。而且大部分后端服務并不會只部署一套服務,而是會采用Nginx對后端服務進行負載均衡。那么,此時就會出現一個問題了:如果一個請求url的 協議、域名、端口 三者之間任意一個與當前頁面url不同就會產生跨域的現象。那么如何使用Nginx解決跨域問題呢?接下來,我們就一起探討下這個問題。

為何會跨域?

出于瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。同源策略會阻止一個域的javascript腳本和另外一個域的內容進行交互。所謂同源(即指在同一個域)就是兩個頁面具有相同的協議(protocol),主機(host)和端口號(port)。

Nginx如何解決跨域?

這里,我們利用Nginx的反向代理功能解決跨域問題,至于,什么是Nginx的反向代理,大家就請自行百度或者谷歌吧。

Nginx作為反向代理服務器,就是把http請求轉發到另一個或者一些服務器上。通過把本地一個url前綴映射到要跨域訪問的web服務器上,就可以實現跨域訪問。對于瀏覽器來說,訪問的就是同源服務器上的一個url。而Nginx通過檢測url前綴,把http請求轉發到后面真實的物理服務器。并通過rewrite命令把前綴再去掉。這樣真實的服務器就可以正確處理請求,并且并不知道這個請求是來自代理服務器的。

Nginx解決跨域案例

使用Nginx解決跨域問題時,我們可以編譯Nginx的nginx.conf配置文件,例如,將nginx.conf文件的server節點的內容編輯成如下所示。

  1. server { 
  2.         location / { 
  3.             root   html; 
  4.             index  index.html index.htm; 
  5.             //允許cros跨域訪問 
  6.             add_header 'Access-Control-Allow-Origin' '*'
  7.  
  8.         } 
  9.         //自定義本地路徑 
  10.         location /apis { 
  11.             rewrite  ^.+apis/?(.*)$ /$1 break; 
  12.             include  uwsgi_params; 
  13.             proxy_pass   http://www.binghe.com; 
  14.        } 

然后我把項目部署在nginx的html根目錄下,在ajax調用時設置url從http://www.binghe.com/apistest/test 變為 http://www.binghe.com/apis/apistest/test然后成功解決。

假設,之前我在頁面上發起的Ajax請求如下所示。

  1. $.ajax({ 
  2.         type:"post"
  3.         dataType: "json"
  4.         data:{'parameter':JSON.stringify(data)}, 
  5.         url:"http://www.binghe.com/apistest/test"
  6.         async: flag, 
  7.         beforeSend: function (xhr) { 
  8.  
  9.             xhr.setRequestHeader("Content-Type", submitType.Content_Type); 
  10.             xhr.setRequestHeader("user-id", submitType.user_id); 
  11.             xhr.setRequestHeader("role-type", submitType.role_type); 
  12.             xhr.setRequestHeader("access-token", getAccessToken().token); 
  13.         }, 
  14.         success:function(result, status, xhr){ 
  15.  
  16.         } 
  17.         ,error:function (e) { 
  18.             layerMsg('請求失敗,請稍后再試'
  19.         } 
  20.     }); 

修改成如下的請求即可解決跨域問題。

  1. $.ajax({ 
  2.         type:"post"
  3.         dataType: "json"
  4.         data:{'parameter':JSON.stringify(data)}, 
  5.         url:"http:www.binghe.com/apis/apistest/test"
  6.         async: flag, 
  7.         beforeSend: function (xhr) { 
  8.  
  9.             xhr.setRequestHeader("Content-Type", submitType.Content_Type); 
  10.             xhr.setRequestHeader("user-id", submitType.user_id); 
  11.             xhr.setRequestHeader("role-type", submitType.role_type); 
  12.             xhr.setRequestHeader("access-token", getAccessToken().token); 
  13.         }, 
  14.         success:function(result, status, xhr){ 
  15.  
  16.         } 
  17.         ,error:function (e) { 
  18.             layerMsg('請求失敗,請稍后再試'
  19.         } 
  20.     }); 

本文轉載自微信公眾號「冰河技術」,可以通過以下二維碼關注。轉載本文請聯系冰河技術公眾號。

 

責任編輯:武曉燕 來源: 冰河技術
相關推薦

2020-11-06 10:01:06

Nginx

2018-11-12 08:07:04

Nginx優化并發

2020-08-03 10:00:11

前端登錄服務器

2023-04-24 08:00:00

ES集群容器

2020-09-22 17:31:13

運維架構技術

2019-04-01 10:43:59

Linux問題故障

2019-12-31 09:56:16

Linux 系統 數據

2020-02-18 16:20:03

Redis ANSI C語言日志型

2022-06-20 09:01:23

Git插件項目

2023-02-10 09:04:27

2020-05-14 16:35:21

Kubernetes網絡策略DNS

2019-08-13 15:36:57

限流算法令牌桶

2022-08-01 11:33:09

用戶分析標簽策略

2023-09-11 08:13:03

分布式跟蹤工具

2021-04-08 07:37:39

隊列數據結構算法

2017-09-19 14:36:34

機器學習

2017-10-04 06:36:55

機器學習python數據

2017-09-18 20:07:56

數據科學機器學習python

2021-12-26 08:08:00

緩存Cache開發

2020-07-03 08:21:57

Java集合框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费在线观看av | 91精品国产自产精品男人的天堂 | 天天看逼 | 免费观看毛片 | 免费在线精品视频 | 欧美日韩在线免费 | 国产午夜精品久久久 | 国产日韩欧美精品一区二区 | 国产一区久久 | 天天av网 | 亚洲成人av| 精品网 | 日韩欧美亚洲 | 国产精品成av人在线视午夜片 | 久久在线 | 中文天堂网 | 久久999| 国产极品粉嫩美女呻吟在线看人 | 国产一区二区三区在线观看免费 | 久久福利电影 | 日韩一级电影免费观看 | 欧美国产日韩在线观看成人 | 亚洲国产精品一区二区久久 | 亚洲欧美综合精品久久成人 | 精品视频久久久久久 | 日日操夜夜操天天操 | 欧美综合在线视频 | 一区二区亚洲 | 亚洲永久入口 | 国产黄色电影 | 久色视频在线观看 | 国产精品久久久久av | 日本免费一区二区三区 | 一级毛片网 | 久久久999成人 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 99久久久99久久国产片鸭王 | 中文字幕精品视频 | 做a视频 | 在线国产一区二区 | 国产精品久久久乱弄 |