会话保持之iRule脚本

简介:

拓扑

思路:

Web上的请求,很大程度上需要在后端一台服务器上运行,而不能将请求1,与请求2分别在不同的真实机上。所以,就需要使用会话保持技术了。F5的会话保持有内置的,如简单会话保持,就是根据客户端ip地址而更新会话表的.还有cookie等,今天,我在这里演示的是通过iRule脚本来控制会话保持的,让其请求一直访问在某一台真实机上.


在没有使用此脚本的情况下 , 我们通过 firefox 强制刷新访问 , 结果 :


它会在两台真实机上轮询访问,此时我们想让一个客户端的访问能固定到某一台真实机上,那么我们可以选择F5自带的会话保持,或者我们想要更灵活的机制来控制,这里我就想到了在后端真实机上来定制cookie的名字来做到灵活性,web脚本如下:

<?php

$value = "php_web03";

setcookie("TestCookie",$value);

echo "This is web03!"

?>

<?php

$value = "php_web04";

setcookie("TestCookie",$value);

echo "This is web04!"

?>

iRule脚本如下:
when HTTP_REQUEST {

if { [HTTP::cookie exists "TestCookie"] } {

#log "[HTTP::cookieTestCookie]"

persist uie [HTTP::cookie "TestCookie"]

}

}

when HTTP_RESPONSE {

if { [HTTP::cookie exists "TestCookie"] } {

persist add uie [HTTP::cookie "TestCookie"]

}

}

iRule 脚本挂到 vs 资源里,再去强刷 , 结果 :

在这里有几个知识点需要掌握的:

1.F5 会话保持负载均衡过程

2. persist uie [HTTP::cookie"TestCookie"]
如果找到,则查询保持表,根据匹配果将送到对应的服

3. persist add uie [HTTP::cookie"TestCookie"]
将服器与找到的Cookie 内容对应


本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1242363,如需转载请自行联系原作者

相关文章
|
4月前
|
前端开发 JavaScript 安全
node登陆接口权限配置cookie-parser、express-session
本文介绍了在Node.js中使用express-session和cookie-parser实现登录接口的权限配置,包括验证码接口的生成和自定义中间件的创建,用于验证用户权限。
35 0
node登陆接口权限配置cookie-parser、express-session
|
JavaScript 前端开发 测试技术
loadrunner 脚本优化-关联函数web_reg_save_param()函数详解
loadrunner 脚本优化-关联函数web_reg_save_param()函数详解
245 0
|
存储 Java PHP
深入了解session的执行步骤
深入了解session的执行步骤
123 0
深入了解session的执行步骤
marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
101 0
|
IDE 开发工具 Python
如何调用别的.air脚本中封装好的方法
如何调用别的.air脚本中封装好的方法
354 0
|
Shell 网络安全 数据安全/隐私保护
expect - 自动交互脚本
1. expect参数 expect教程中文版 expect说明 2. 启用选项 -c :执行脚本前先执行的命令,可多次使用。 -d :debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用 exp_internal 1 相似。
1462 0
|
网络安全 数据安全/隐私保护 运维