說到nginx,不得不說真的很強大,也帶來很多便利用於解決一些頭疼的難題。
一般來說可以用來做:靜態頁面的伺服器、靜態檔案快取伺服器、**反向**、負載均衡伺服器等等,而且實現這一切,基本只需要改改那萬能的配置檔案即可。
之前的博文記錄了作為負載均衡。這裡先記錄一下作為靜態頁面的伺服器和反向**跨域的使用。
結合之前 《angularjs+webapi2 跨域basic 認證授權》的案例,對跨域的方式進行改造一下。
一.靜態頁面伺服器
nginx.conf 的配置(其實預設的也是如此,所以作為靜態伺服器只需要將靜態檔案移動到nginx下的html資料夾裡就可以了)
server
}然後開啟瀏覽器 輸入 localhost:8094 即可
就是這麼簡單
二.反向**伺服器-》跨域
之前我們跨域是借助了瀏覽器對 access-control-allow-origin 的支援。但有些瀏覽器是不支援的,所以這並非是最佳方案
現在我們來利用nginx 通過反向** 滿足瀏覽器的同源策略實現跨域
首先,我先注釋掉之前的跨域設定
然後訪問一下index1.html
提示了跨域問題
然後我們回到nginx.conf 配置乙個反向**路徑(新增紅色部分)
serverlocation /apis
}配置說明:配置乙個/apis 重寫到我們真正的api位址http://localhost:1894 形成乙個**的過程。
然後更改一下index1.html的api請求位址
這樣這個api的位址就跟當前頁面index1.html處於同源位置了。就是我們配置的nginx監聽位址 localhost:8094
然後我們再次在瀏覽器中訪問 index1.html 可能請求到的知識快取頁面 請清除快取或重啟nginx
跨域訪問及Nginx解決跨域訪問
同源策略 sameorigin policy 是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。同源策略是處於對使用者安全的考慮,如果非同源就會受到以下限制 但是事實是經常...
Ngnix 配置允許多個網域名稱跨域訪問
在nginx上的解決方案是配置access control allow origin來解決,但是此引數只允許配置單個網域名稱 add header access control allow origin baidu.com 或者 add header access control allow ori...
Cookie 解決Cookie跨域訪問
隨著工程的不斷擴大,要部署很多不同的服務,這其中就避免不了cookie的跨域問題,如何實現cookie在不同域之前實現傳輸,本文將詳細描述。1 path cookie的域我們如果不設定的話,預設是當前工程,例如 那麼它的域為www.test.com,通過domain我們可以設定cookie的域 通過...