博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/06/13 M 实现haproxy企业级应用与实战
阅读量:3925 次
发布时间:2019-05-23

本文共 2683 字,大约阅读时间需要 8 分钟。

在server中有个参数cookie可以定义,用户请求的资源信息响应的时候插入set-cookie的值,这里如果真想实现cookie的粘性就要实现所谓的参数cookie,来完成指定如何去向客户端响应报文中,插入附加的cookie值

在这里插入图片描述
name表示所属键的键名,如何去修改键名(就用rewrite,insert,prefix)
还可以指定哪些报文加cookie,indirect,
nocache,非从缓存中取数据
postonly 如果说这个情报中,已然有相应的值,就直接发送给客户端,不做多修改
在这里插入图片描述
当用户请求到达时可以设定如何去修改
nocache 从缓存中获取的不予修改
indirect客户都安已然有相应的cookie,直接发给客户端,
不加修改
在这里插入图片描述
重启服务进行访问
在这里插入图片描述
只要是来自这个url请求就一直会发往这个服务器
在这里插入图片描述
所以这是基于cookie的webserver粘性,来自同意机器的请求就会始终发往一台主机了
curl命令发送时是不会加cookie信息的
在这里插入图片描述
现在后端服务器记录的访问地址都是代理服务器地址
在这里插入图片描述
在这里插入图片描述
表示记录请求报文的首部的值
在这里插入图片描述
前端再次访问
在这里插入图片描述
在这里插入图片描述
except可以设定内部网络的机器访问不加首部
header定义首部名称
在这里插入图片描述
作为haproxy代理服务器如何去拒绝请求,可以返回403之类的,用户认证让代理服务器来做用户认证,来合成一个403页面来响应给客户端
404资源不存在
在这里插入图片描述
可以在代理服务器上自定义错误页,404处理不了,是因为只有服务器才知道是否存在资源
在这里插入图片描述
file是本地文件路径,url,可以实现跨站重定向
errorfile和errorloc是让用户自定义响应码的,尤其错误的响应码,跟nginx类似,对其他的响应内容做出正常响应
401未认证
在这里插入图片描述
haproxy合成的错误也,只能是这几种信息
在这里插入图片描述
下面这些事用来请求和操纵响应报文的
在这里插入图片描述
客户都安发来的请求报文,服务器本身事做不出任何修改的,但发起报文向后端服务器的时候,是由haproxy生成的,这段报文,haproxy可以进行任意修改,服务器的响应报文,haproxy也修改不了,但是经过haproxy之后,haproxy响应给客户端就可以更改响应报文头部了
在这里插入图片描述
一般来讲我们要操纵报文首部,比如之前的opreation-forwarded-to,可以把这个请求报文发送给客户端之前,可以把信息附加给请求报文首部,用附加的值继续跟踪
在这里插入图片描述
请求报文,这个只是固定的首部,可以自定义首部,string(首部是什么
在这里插入图片描述
rspadd,响应给客户端的报文,添加自定义首部
rsp的可以用的位置很关键
在这里插入图片描述
在对应的listen或者frontend中添加
X-VIA对应首部名称+ 值
在这里插入图片描述
在这里插入图片描述
响应报文中就添加了这些
在这里插入图片描述
可以把真实server隐藏起来
在这里插入图片描述
还可以删除,可以基于正则表达式来指定
在这里插入图片描述
删除一个server,隐藏server信息
在这里插入图片描述
现在server就没有了
在这里插入图片描述
下面是日志系统
在这里插入图片描述
haproxy在本地是不会记录日志的
global是调用全局中的设置
在这里插入图片描述
一个haproxy可以至少有两个日志报文位置,有一个是global,还可以在定义一个global去调用访问
在这里插入图片描述
这些信息都记录的是什么,日志事件,localhost哪一个haproxy主机,haproxy进程pid,客户端地址和端口;访问时由哪个前端进行frontend调度,调度到哪一个后端中的server,响应码304,请求报文首部,get http
在这里插入图片描述
链接的建立时间,响应时间在这里插入图片描述
日志格式都有解释
在这里插入图片描述
tw在队列中等待的时长
tc创建链接所消耗的时长
在这里插入图片描述
tw在队列中等待消耗的时长
tc创建连接消耗的时长
tt接收响应报文的时长
在这里插入图片描述
在这里插入图片描述
当前session被记录到日志力后,服务器会当前的并发操作总数是多少
当前服务器链接是,真正意义上的链接数量
在这里插入图片描述
整个后端队列长度
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
haproxy支持httpd和tcp,所以日志跟nginx和httpd类似,通用
在这里插入图片描述
capture cookie 捕获或记录响应报文中的cookie首部的值的,cookie值时很明白,所以尽量不要去记录
使用这项是可以记录的,指明你的cookie名称,这样对应的websrv定义有一个自己的server名称
len可以最长记录多少
在这里插入图片描述
底下这个可能更加灵活
在这里插入图片描述
响应报文首部
在这里插入图片描述
在这里插入图片描述
压缩类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这些参数都是再生产环境中使用到的参数,可以对后面的server做检测,
检测的时候可以用7层检测或者4层检测
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
就改成了layer/check 了
在这里插入图片描述
也可以指向那个url发送请求
在这里插入图片描述
在这里插入图片描述
也可以定义时,定义method指令,自定义请求方法
在这里插入图片描述
希望返回的内容时你想要的,match pattern,要匹配到指定的内容才可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
haproxy在健康性检测时可以进程http-check expect 指明检测的匹配标准
对响应码做正则表达式匹配
在这里插入图片描述
rstring,对内容做精确性匹配
检查不匹配

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在试试用rstatus 2开头的响应码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还可以!号取反
在这里插入图片描述
可以自定义7层捡测的监测方式,来监测所期望的响应内容是什么,这个只适用loghttp,mode tcp是没用的
下一组是链接超时时长
在这里插入图片描述
最大非活动链接的超时时长,双方通信结束,有可能tcp链接还没断开,那这个链接还不断开,链接多长时间
客户端一侧的非活动链接的超时时长
在这里插入图片描述
服务器端的非活动链接的超时时长
在这里插入图片描述
可以使用长连接,多长时间
长时间应该从两个维度去限制,时间和数量
timeout http-request
在这里插入图片描述
作为代理服务器来讲,一个链接持续60s,这个60s之内无论客户访问不访问,这个链接都存在,最大并发量4000,
这个4000都在访问,请求都进来了,所以代理服务器一定与客户端一次不要持久,但是不持久也有缺陷,每一次请求都要重新建立链接,可以持久,但是时间短一点,比如2S,最长不超过3s,具体看业务需求

作为代理服务器来讲,客户都安发送请求,整个网络都是public,是一个一个字节发过来的,如果网络慢的话,2秒钟发送一个,这样通讯就比较慢,可以设置成超时链接,如果在2s之内,所有请求发送不过来,就断开,不让你访问了

等待请求报文的超时时长,直接超时
在这里插入图片描述
链接鉴定,作为haproxy而言,链接鉴定的作用是向服务器端发送请求
请求来,haproxy转发到服务器端,在这之前需要先和服务器端建立链接,链接以后才会发送http请求,这个链接一直建立不上,就断开链接,超时时长
在这里插入图片描述
半关闭的链接的超时时长是多少。
因为每个链接都是双方向的,可能指关闭了以一端,另外一端没用关闭
在这里插入图片描述
在这里插入图片描述
可以维持一般,在接下来的请求中,响应更快,可以实现链接复用
基于acl的访问控制
在这里插入图片描述
在这里插入图片描述

转载地址:http://cbkgn.baihongyu.com/

你可能感兴趣的文章
ML.NET 示例:对象检测
查看>>
C#基于yolov3的行人检测
查看>>
ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
查看>>
WPF 修改(优化)Menu菜单的样式
查看>>
晕了!这个配置值从哪来的?
查看>>
我开发了一款基于web容器的前端项目容器
查看>>
WPF实现环(圆)形菜单
查看>>
WPF 写一个提醒工具软件(完整项目)
查看>>
Windows 11 快速体验:开始菜单居中,全系圆角设计!
查看>>
异步流使用注意事项
查看>>
NET问答: 为什么仅有 getter 的属性,还可以在构造函数中赋值 ?
查看>>
WPF TextBox限制只能输入数字的两种方法
查看>>
【荐】牛逼的WPF动画库:XamlFlair
查看>>
如何绕过 TPM 2.0 安装 Windows 11 操作系统?
查看>>
为WPF播放GIF伤神不?
查看>>
.NET Core with 微服务 - Elastic APM
查看>>
生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包...
查看>>
考虑用Task.WhenAll
查看>>
关于面试,避开这几点,成功几率更大~~~
查看>>
通过反射实现IOC功能
查看>>