ngnix解決跨域訪問

2021-08-09 04:05:55 字數 1313 閱讀 4715

說到nginx,不得不說真的很強大,也帶來很多便利用於解決一些頭疼的難題。

一般來說可以用來做:靜態頁面的伺服器、靜態檔案快取伺服器、**反向**、負載均衡伺服器等等,而且實現這一切,基本只需要改改那萬能的配置檔案即可。

之前的博文記錄了作為負載均衡。這裡先記錄一下作為靜態頁面的伺服器和反向**跨域的使用。

結合之前 《angularjs+webapi2 跨域basic 認證授權》的案例,對跨域的方式進行改造一下。

一.靜態頁面伺服器

nginx.conf 的配置(其實預設的也是如此,所以作為靜態伺服器只需要將靜態檔案移動到nginx下的html資料夾裡就可以了)

server

}
然後開啟瀏覽器 輸入 localhost:8094 即可

就是這麼簡單

二.反向**伺服器-》跨域

之前我們跨域是借助了瀏覽器對 access-control-allow-origin 的支援。但有些瀏覽器是不支援的,所以這並非是最佳方案

現在我們來利用nginx 通過反向** 滿足瀏覽器的同源策略實現跨域

首先,我先注釋掉之前的跨域設定

然後訪問一下index1.html

提示了跨域問題

然後我們回到nginx.conf 配置乙個反向**路徑(新增紅色部分)

server 

location /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的域 通過...