国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

利用Nginx反向代理與負載均衡搭建多人測試環(huán)境詳解

2024-08-30 12:25:38
字體:
供稿:網(wǎng)友

前言

假如我們使用 git 進行版本控制,在一個大型網(wǎng)站中,開發(fā)人員在不同的分支上開發(fā)不同的需求,當一個需求開發(fā)完成需要測試,我們會把這個分支告訴測試人員,然后測試人員在測試機的網(wǎng)站目錄拉取這個分支進行測試。

設想這樣一個場景:當只有一個分支提測的時候,在測試機上可以直接拉取這個分支的代碼進行測試,但是如果同時有多個分支都要同時進行測試,那么就沒辦法在一臺測試機上同時進行了。

因為這臺測試機網(wǎng)站目錄只有一個,我們無法同時拉取不同分支的代碼,那么如何在一臺測試機上同時支持多人測試不同的分支呢?

實現(xiàn)原理

當我們訪問一個網(wǎng)站,請求頭中會有 User-Agent 的頭部,如 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0,這個 UA 是可以自定義的,很多瀏覽器插件也支持新增自定義 UA,如火狐的 User Agent Swicher 插件。

如圖,這里新增了一個自定義 UA,內(nèi)容改成了自己的名字,通過這個 UA 請求網(wǎng)站,我們可以在請求頭中看到 UA 變成自己的了,這就是一個標識。

根據(jù)這個 UA ,通過 nginx 進行判斷,不同的 UA 轉(zhuǎn)發(fā)到不同的端口,每個端口下對應一個網(wǎng)站目錄。

Nginx 判斷 UA

通過 Nginx 可以獲取每次請求的 UA,即 $http_user_agent 變量。

如在 location 域中可以這樣判斷 UA 并設置一個標識:

if ( $http_user_agent ~ "dashen" ) { set $flag "01";}

比如判斷 UA 內(nèi)容為 dashen,設置 $flag 為 01,可以設置很多個這樣的標識。

Nginx 反向代理和負載均衡

通過判斷不同的 UA,我們可以通過反向代理轉(zhuǎn)發(fā)到不同的機器和端口,這里同一臺測試機可以轉(zhuǎn)發(fā)到本機的不同的端口,監(jiān)聽不同的端口設置不同的網(wǎng)站目錄。

具體如下:

server{ listen 192.168.1.251:80; server_name *.example.com; index index.html index.htm index.php; charset utf-8; location / { set $flag "00"; if ( $http_user_agent ~ "dashen" ) {   set $flag "01";  } if ( $http_user_agent ~ "mianwo" ) {   set $flag "02";  } if ( $http_user_agent ~ "bingkuai" ) {   set $flag "03";  } if ( $http_user_agent ~ "hadoop" ) {   set $flag "04";  }  proxy_set_header Host $host;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  if ( $flag = "00" ){   add_header Z-Server mobile;   proxy_pass http://webserver_mobile;  }  if ( $flag = "01" ){   add_header Z-Server dashen;   proxy_pass http://webserver_dashen;  }  if ( $flag = "02" ){   add_header Z-Server mianwo;   proxy_pass http://webserver_mianwo;  }  if ( $flag = "03" ){   add_header Z-Server bingkuai;   proxy_pass http://webserver_bingkuai;  }  if ( $flag = "04" ){   add_header Z-Server hadoop;   proxy_pass http://webserver_hadoop;  } }}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长寿区| 尖扎县| 林甸县| 嵊州市| 汉寿县| 嘉禾县| 古浪县| 夏邑县| 察哈| 子洲县| 无锡市| 淮南市| 中超| 体育| 西乡县| 奉节县| 望奎县| 香河县| 洱源县| 沙河市| 饶平县| 博客| 永清县| 遵化市| 贵州省| 修武县| 定日县| 梁平县| 济源市| 乐至县| 廊坊市| 成安县| 三台县| 乡宁县| 连州市| 克山县| 株洲县| 弥渡县| 弥勒县| 水城县| 永新县|