Nginx基于cookie分流--WEB高可用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nginx基于cookie分流--WEB高可用 架构 为了保障公司业务不受单点机房故障影响;做机房双活;并按客户端cookie不同将请求分配到不同的IDC中;架构大致如下: 应用程序给客户端分配生成特定cookie键值,如ickey=”yunhnagweb201801”,安全公司或高可用负载设备通过匹配cookie,将流量分配到不同的IDC机房;键值以01结尾分配到IDCA;键值以02结尾分配到IDCB; 方案描述 本次测试由于没有应用层分配cookie,通过模拟方式进行即生成cookie是在负载设备上通过请求ip的后缀来生成cookie并将请求分配到指定web(或叫IDC)上; 测试所用三台主机: 负载设备:03 Centos7 nginx 1.12 域名: Web1(模拟IDCA): 44 域名: Web2(模拟IDCB): 81 域名: 以上域名在本地和三台hosts做对应解析; 当用户访问负载设备时 通过请求的来源ip后缀来确定流量分配到那台IDC上; 配置模型 1、负载设备 nginx配置 [root@03 conf.d]# cat test_map_cookie.conf map $COOKIE_ickey $group { ~*[0-5]$ zone01; #cookie 0-5结尾走zone01 ~*[6-9]$ zone02; # cookie 6-9 结尾走zone02 default root; #默认 } upstream zone01 {[root@test-web_redis-181 conf.d]# cat /home/dongyc/web181/index.html h1test web 181 from IDCB./h1 server 44:8080 weight=1 max_fails=1 fail_timeout=30s; } upstream zone02 { server 81:8080 weight=1 max_fails=1 fail_timeout=30s; } upstream root { server 03:80 weight=1 max_fails=1 fail_timeout=30s; } server { add_header Set-Cookie ickey=bqx1x3x5hhda0000000002${remote_addr}; #模拟客户端访问时带的cookie(一般是应用层分配好) listen 80; server_name ; access_log logs/access_log main; error_log logs/error_log; location / { proxy_pass http://$group; proxy_set_header X-Forwarded-For $remote_addr; } } 两台web配置 为了能看到来自那台web(IDC)响应,各自返回的web内容加以区别; Web1(IDCA): [root@test-web_redis-144 conf.d]# cat web144.conf server{ add_header Set-Cookie ickey=bqx1x3x5hhda0000000001; listen 8080; server_name ; root /home/dongyc/web144/; index index.html; access_log /var/log/nginx/_nginx.log main; } 查看web内容: [root@test-web_redis-144 conf.d]# cat /home/dongyc/web144/index.html h1test web web144 form IDCA./h1 Web2(IDCB): [root@test-web_redis-181 conf.d]# cat web181.conf server{ add_header Set-Cookie ickey=bqx1x3x5hhda0000000002; listen 8080; server_name ; root /home/dongyc/web181/; index index.html; access_log /var/log/nginx/_nginx.log main; } 查看web内容: [root@test-web_r

文档评论(0)

159****1710 + 关注
实名认证
文档贡献者

网络工程师三级证、基础设施库资格证持证人

BTB行业电商平台运维经理

领域认证该用户于2023年01月19日上传了网络工程师三级证、基础设施库资格证

1亿VIP精品文档

相关文档