SLB的会话保持,植入和重写的区别-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

SLB的会话保持,植入和重写的区别

云栖徒骇 2016-04-11 20:07:58 10999

问题描述:  SLB的会话保持,植入和重写的区别


解决过程:


植入cookie,是在用户rs set的cookie基础上,加一个cookie的字段; 重写cookie是用户rs set的cookie里,把他设置为作为会话保持用的cookie字段的value进行修改。


说明:


植入,强制写入cookie。
重写,RS控制是否使用cookie,若RS不发送cookie则保持无效。




下面使用一段简单的PHP程序来演示一下:
echo 'server1';
setcookie("$_GET[c]",'test-cookie-value',time()+3600);
var_dump($_COOKIE);



这样可以通过 ?c=xx 发送名为 xx 的 cookie。
先使用SLB植入Cookie,如下:





访问测试,发现SLB会发送一个SERVERID的cookie,value就是RS的标示符,从而实现会话保持;
这时候不论服务器是否发送cookie都会有这个cookie字段。





现在我们来演示一下SLB重写cookie,cookie名为testcookie;





我们清理掉之前测试的cookie记录,然后先不发送这个名字的cookie测试一下,发现没有能够标示RS的cookie产生,会话也没能保持,这从就访问到server2去了。





然后我们再测试一次,发送我们配置的cookie,名字为:testcookie
发现这时候cookie的值已经不是test-cookie-value了,而是被重写为RS的标示符了,server也一直访问到server2实现了会话保持:





这样二者的区别就比较好理解了,在多长时间内保持回话呢?SLB植入可以直接在阿里云的控制台设置,SLB重写的话可以配置一下这个COOKIE的生存周期,周期到了cookie失效了自然也就不会在保持了。

PHP
分享到
取消 提交回答
全部回答(0)
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题