canary環(huán)境使用nginx實(shí)現(xiàn)原理分析
前言
上文說過,聯(lián)調(diào)和測試環(huán)節(jié)每個(gè)開發(fā)需要獨(dú)立的環(huán)境。達(dá)到的效果是使用同樣的域名或者ip訪問,如果有特定的消息頭或者cookie,將請求轉(zhuǎn)發(fā)到特定的機(jī)器上。
本文主要通過nginx實(shí)現(xiàn)前端頁面的多環(huán)境
實(shí)現(xiàn)
根據(jù)請求header(或者cookie)的canary的值判斷需要轉(zhuǎn)發(fā)的地址
nginx配置
配置如下:
如果header(或者cookie)中的canary值為local時(shí),轉(zhuǎn)發(fā)請求到192.168.0.2:8080服務(wù)器
upstream canary_dev {
server 192.168.0.1:8080;
}
upstream canary_local {
server 192.168.0.2:8080;
}
server {
listen 80;
server_name localhost;
location / {
add_header Content-Type 'text/html; charset=utf-8';
proxy_set_header Host $http_host;
if ( $http_canary = 'local') {
proxy_pass http://canary_local;
}
if ( $cookie_canary = 'local') {
proxy_pass http://canary_local;
}
proxy_pass http://canary_dev;
}
}
缺點(diǎn)
增加環(huán)境需要修改配置和重啟nginx,不易操作而且容易出錯(cuò)
優(yōu)化
基于以上缺點(diǎn),我們可以使用nginx支持rust的特性進(jìn)行改進(jìn),后續(xù)研究更新
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx配置location匹配順序詳細(xì)總結(jié)
這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下2023-08-08
k8s部署nginx訪問Tomcat的實(shí)現(xiàn)示例
本文介紹了如何使用Kubernetes部署Nginx,并通過Nginx訪問Tomcat,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Nginx中正向代理,反向代理,負(fù)載均衡應(yīng)用場景分析
文章介紹了nginx中反向代理、正向代理和負(fù)載均衡的概念,通過實(shí)際場景解釋了它們的工作原理和特點(diǎn),感興趣的朋友跟隨小編一起看看吧2025-11-11
詳解Linux環(huán)境下使Nginx服務(wù)器支持中文url的配置流程
這篇文章主要介紹了Linux環(huán)境下使Nginx服務(wù)器支持中文url的配置流程,文中還介紹了一個(gè)在Linux下將非UTF-8的文件名轉(zhuǎn)換為UTF-8編碼,的方法,需要的朋友可以參考下2016-04-04
nginx設(shè)置上傳目錄無執(zhí)行權(quán)限的方法
在windows+iis下,可以設(shè)置上傳目錄,類似:upload,uploadfile,attachments,這樣的目錄下面無腳本執(zhí)行權(quán)限,從而防止非法用戶上傳腳本得到webshell2010-11-11

