【nginx學習】nginx反向代理前端跨域問題

* 跨域簡介:

跨域是指a頁面想獲取b頁面資源,若是a、b頁面的協議、域名、端口、子域名不一樣,所進行的訪問行動都是跨域的,而瀏覽器爲了安全問題通常都限制了跨域訪問,也就是不容許跨域請求資源。
  • 注意:跨域限制訪問,實際上是瀏覽器的限制。
  • 跨域類型:
URL 說明 是否跨域
http://www.cnblogs.com/a.js http://www.a.com/b.js 不一樣域名
http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不一樣文件夾
http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不一樣端口
http://www.a.com/a.js https://www.a.com/b.js 同一域名,不一樣協議
http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名對應ip
http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不一樣 是(cookie不可訪問)
http://www.a.com/a.js http://a.com/b.js 同一域名,不一樣二級域名(同上)

* 跨域常看法決方法:

一、jsonp 須要目標服務器配合一個callback函數。
二、window.name+iframe 須要目標服務器響應window.name。
三、window.location.hash+iframe 一樣須要目標服務器做處理。
四、html5的 postMessage+ifrme 這個也是須要目標服務器或者說是目標頁面寫一個postMessage,主要側重於前端通信。
五、CORS 須要服務器設置header :Access-Control-Allow-Origin。
六、nginx反向代理 能夠不用目標服務器配合,須要搭建一箇中轉nginx服務器,用於轉發請求。html

* 跨域實例:

A網站部署在:http://localhost:81 即本地ip端口81上;B網站部署在:http://localhost:82 即本地ip端口82上。如今A網站的頁面想去訪問B網站的信息,

解決方法:nginx反向代理解決跨域前端

相關文章
相關標籤/搜索