nginx配合前端实现网站分流 ABtest

前端随机生成0-99的cookie,通过nginx分配10%的流量
nginx配置
在这里插入图片描述

前端生成cookie

  (function(){
                function random(min, max) {
                     return Math.floor(Math.random() * (max - min)) + min;
                     }
                function setCookie(name, value, days) { // 设置cookie days设置过期时间 单位:天 不传默认是 cookie 在浏览器关闭时删除
                    var exp = new Date();
                    days = days || 30;
                    exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
                    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ';path=/';
                }
                function getCookie(name) { // 获取一个cookie  
                    var strCookie = document.cookie;
                    var arr = strCookie.split(';');
                    for (var i = 0; i < arr.length; i++) {
                        var t = arr[i].split("=");
                        if (t[0].trim() == name) {
                            return t[1];
                        }
                    };
                    return null;
                }
                if(!getCookie('pagetest')){
                    // alert(1)
                    setCookie('pagetest',random(0,99))
                    location.reload();
                }
            })()