1. 程式人生 > >前端專案線上如何做跨域

前端專案線上如何做跨域

前端頁面被跨域限制了,說明不同源。 這個時候可以找一臺跟後臺介面同源的伺服器用 nginx 來做介面轉發。

以一個 vue 專案為例,在開發過程中,開發者可以主動去配合 dev 的 proxyTable, 本質上是本地起了一個 node 服務(express)來做轉發到 localhost, 因為跨域是會存在於瀏覽器。 而釋出到線上去之後,很可能由於 dev 環境下對每一個介面請求都攜帶了 /api 字首,這對我們很友好。

nginx 配置:

...
location /api {
	# 配置一
	proxy_pass http://abc.hahah.com/;
	# 配置二
	proxy_pass http://abc.hahah.com;
	# 配置三
	proxy_pass http://100.200.30.20;
}
...

其中配置二和配置三,本質上是一樣的(使用ip和域名)ip 後面有沒有 / 是由區別的,有 / 表示轉發請求之後,/api 後面的內容才會被轉發,相當於 url 是被截斷的,正好我們需要這種形式,因為 /api 是我們新增的虛擬的 url 部分。

詳情可以參考 https://www.cnblogs.com/lemon-le/p/7800879.html 或者 《nginx高效能Web伺服器詳解》