Nginx灰度

来自YS的笔记
Yaosong讨论 | 贡献2019年5月11日 (六) 19:26的版本 (创建页面,内容为“nginx通过cookie判断该指向那个环境。 * 首先创建两个项目huidu1、huidu2,分别创建index.html文件,内容分别为“huidu1”、“huidu2…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

nginx通过cookie判断该指向那个环境。


  • 首先创建两个项目huidu1、huidu2,分别创建index.html文件,内容分别为“huidu1”、“huidu2”
  • nginx指向项目
server {
    listen 8086;
    root /data/docker/www/huidu1;
}
server {
    listen 8087;
    root /data/docker/www/huidu2;
}

  • curl访问确认配置正确
➜  curl http://127.0.0.1:8085/index.html
huidu1
➜  curl http://127.0.0.1:8086/index.html
huidu2

  • nginx配置cookie判断匹配server
server {
    listen 8085;

    #匹配cookie
    set $to "http://127.0.0.1:8086";# 默认huidu1
    if ($http_cookie ~* "huidu=1"){
        set $to "http://127.0.0.1:8087";# 匹配到cookie,更改为huidu2
    }
    location /{
        proxy_pass $to;
        break;
    }
}

  • curl访问确认配置正确
➜  curl http://127.0.0.1:8085/index.html
huidu1
➜  curl http://127.0.0.1:8085/index.html -H 'Cookie: huidu=1'
huidu2

  • 完成