Linux_haproxy(3)v1.0

cookie <name> [ rewrite | insert | prefix ] [ indirect ] [ nocache ]  [ postonly ] [ preserve ] [ httponly ] [ secure ]  [ domain <domain> ]* [ maxidle <idle> ] [ maxlife <life> ]
    除了backend 都可用 在给用户的相应报文中插入cookie
                 <name>:新插入cookie的名称
    rewirte:重写;后端服务器可能已经有cookie 改写
    insert:插入;
    prefix:前缀;

http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#4-cookie

例1 基于cookie的session sticky的实现:(会话保持)

backend websrvs

cookie WEBSRV insert nocache indirect

server srv1 172.16.100.6:80 weight 2 check rise 1 fall 2 maxconn 3000 cookie srv1

server srv2 172.16.100.7:80 weight 1 check rise 1 fall 2 maxconn 3000 cookie srv2
***********************************************************

统计接口启用相关的参数:
    默认配置
          stats enable  启用统计页;基于默认的参数启用stats page;

- stats uri  : /haproxy?stats   统计数据使用的url

- stats realm : "HAProxy\ Statistics" 域

- stats auth : no authentication

- stats scope : no restriction

stats auth <user>:<passwd>:认证时的账号和密码,可使用多次;
    stats realm <realm>:认证时的realm;
    stats uri <prefix>   自定义stats page uri
    stats refresh <delay>  设定自动刷新时间间隔;
   stats admin { if | unless } <cond> 启用stats page中的管理功能

配置示例:
 listen stats
     bind :9099
     stats enable
     stats realm HAPorxy\ Stats\ Page
     stats auth admin:admin   状态页面的账号密码 
     stats admin if TRUE    表示认证成功
*********************************************************** 
 option forwardfor [ except <network> ] [ header <name> ] [ if-none ]
      在由haproxy发往后端主机的请求报文中添加“X-Forwarded-For”首部,其值前端客户端的地址;用于向后端主发送真实的客户端IP;
  [ except <network> ]:请求报请来自此处指定的网络时不予添加此首部;
  [ header <name> ]:使用自定义的首部名称,而非“X-Forwarded-For”;
*********************************************************** 
 errorfile <code> <file>  返回错误信息(只有后端服务器才知道),这里的错误码信息并不是值后端主机页面不存在,而大多是权限或重定向错误.因为haproxy本身并不知道后端页面信息
 <code>:is the HTTP status code. Currently, HAProxy is capable of  generating codes 200, 400, 403, 408, 500, 502, 503, and 504.
 <file>:designates a file containing the full HTTP response.
 示例:
     errorfile 400 /etc/haproxy/errorfiles/400badreq.http
     errorfile 408 /dev/null  # workaround Chrome pre-connect bug
     errorfile 403 /etc/haproxy/errorfiles/403forbid.http
     errorfile 503 /etc/haproxy/errorfiles/503sorry.http
*********************************************************** 
 errorloc <code> <url> 重新定义url 而不是文件
*********************************************************** 
 errorloc302 <code> <url> 直接把错误也重定向到另一个url 错误码也能修改
*********************************************************** 
reqadd  <string> [{if | unless} <cond>] 在请求报文尾部加新的http的首部信息 (添加给后端服务器的)
 rspadd <string> [{if | unless} <cond>]  发往客户端的响应报文....
 reqdel  <search> [{if | unless} <cond>] 在请求报文的http首部中删除 指定的首部
 reqidel <search> [{if | unless} <cond>]  (ignore case) 在请求报文的http首部中删除 指定的首部(不区分大小写) 
 rspdel  <search> [{if | unless} <cond>] 请发往客户端的http首部中删除 指定首部
 rspidel <search> [{if | unless} <cond>]  (ignore case) 在发往客户端的http首部中删除指定首部 (不区分大小写)
*********************************************************** <search>支持正则表达式模式
 timeout client <timeout>     客户端超时时常  (意思是已经建立链接,但客户端没有发送请求) 默认时间为毫秒
 timeout server <timeout>   服务端超时失常 (意思是和后端建立链接,但没有发送响应报文) 默认单位毫秒
 timeout http-keep-alive <timeout>持久连接的持久时长; 与客户端一侧的长连接 毫秒单位
 timeout http-request <timeout> 当后端或客户端处于某种原因(导致步骤不一致时) 能保持的时常 毫秒
 timeout connect <timeout> 建立tcp链接的等待时长
 timeout client-fin <timeout> 客户端半关闭连接的超时时长(tcp会话四次断开过程中的等待时间)
 timeout server-fin <timeout> 服务器端半关闭连接的超时失长
***********************************************************  
 
 use_backend <backend> [{if | unless} <condition>] 在条件满足时(不满足) 时,使用指定的backend (条件由acl控制)
 当符合指定的条件时使用特定的backend;主要实现动静分离功能
    path_beg 从字符前端匹配 path_end 从字符后端匹配
*********************************************************** 
 block { if | unless } <condition> 基于ACL条件满足时阻止一个7层请求
例1 

***********************************************************  

http-request { allow | deny } [ { if | unless } <condition> ]
 基于7层的访问控制机制 
http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#timeout%20http-request***********************************************************  
 tcp-request connection {accept|reject}  [{if | unless} <condition>]
基于4层请求所做的控制
 示例:,(跟block参数并无太多区别,只是block只能拒绝)
             listen ssh
             bind :22022
             balance leastconn
             acl invalid_src src 172.16.200.2
             tcp-request connection reject if invalid_src
             mode tcp
             server sshsrv1 172.16.100.6:22 check
             server sshsrv2 172.16.100.7:22 check backup

时间: 2024-10-30 13:22:59

Linux_haproxy(3)v1.0的相关文章

【资源共享】Rockchip I2C 开发指南 V1.0

2C设备的设备应用非常广泛,常见的包含重力传感器,触摸屏驱动芯片,音频解码等 这个文档是RK3399的I2C开发文档:<Rockchip I2C 开发指南 V1.0> 内容预览: 下载地址:http://developer.t-firefly.com/thread-12495-1-1.html

Windows环境下Android Studio v1.0安装教程

Windows环境下Android Studio v1.0安装教程 Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SDK) (813 MB) exe(不包含SDK) (250 MB) zip (235 MB) Mac dmg (234 MB) zip (233 MB) Linux: zip (233 MB) 说明: 32位系统和64位系统是同一个安

Alien.Skin.Bokeh.v1.0.3.Incl.

Ablume.Surfmemo.v4.2.Regged-WaLMaRT\ Alien.Skin.Blow.Up.v2.0.3.MacOSX.Incl.  Alien.Skin.Blow.Up.v2.0.4.Incl. TEL:15108931101   QQ:316859986 Alien.Skin.Exposure.v3.0.0.Incl.  Alien.Skin.Exposure.v3.0.0.MacOSX.Incl.  Alien.Skin.Eye.Candy.v6.0.0a.Incl. 

wzplayer for ios 针对(mms)优化版本V1.0

wzplayer for ios针对mms优化版本发布. 1.支持mms,http,rtmp,rtsp等协议 2.支持全格式 下载地址:http://www.coolradio.cn/WzPlayer.ipa 更强大的,请使用tlplayerhttp://blog.csdn.net/tigerleap/article/details/19007057 联系方式:[email protected] QQ:514540005 版权所有,禁止转载. 发布自:http://blog.csdn.net/t

Nat.Geo.Games.DogTown.v1.0.Cracked-F4C

Macaraja.Soft.RamWizard.v3.1.2.2.Cracked-QUANTiZE\ MetaProducts.LightPad.v4.6.164.WinAll.Incl.Keygen-CRD\ MetaProducts.Portable.Offline.Browser.v5.8.3158.Incl.Keymaker.And.Patch-ROGUE\ Millionenjagd.GERMAN-ALiAS\ Mishap.An.Accidental.Haunting-OUTLAWS

主流区块链技术特点及Fabric V0.6&V1.0版本特点

声明:文章内容来源于网络. 一.主流区块链技术特点 二.Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点:    架构问题:由于peer节点承担了太多的功能,所以带来扩展性.可维护性.安全性.业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证: 三.Hyperledger的fabric V

heatmap.js v1.0 到 v2.0,详细总结一下:)

前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这里: http://www.oschina.net/p/heatmap-js 目前,对于热力图的开发,百度.高德开发平台上使用的都是这款JS开源库.当然,现在还有我们公司:P 百度示例:http://developer.baidu.com/map/jsdemo.htm#c1_15 高德示例:http

【转】Windows环境下Android Studio v1.0安装教程

原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/158-androidstudio-v1-0-win-install Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包.要求:JDK 7以及以上版本. Android Studio安装文件. Windows:exe(包含SDK) (813 MB)exe(不包含

效率飞速提高Four Dimension Technologies GeoTools v17.0 1CD+AutoHook.2017.v1.0.3.00 1CD

效率飞速提高Four Dimension Technologies GeoTools v17.0 1CD+AutoHook.2017.v1.0.3.00 1CD GeoTools v12.18 1CD     GeoTools写的是测绘.GIS用户心中最初但现在有这个程序它是有用的,只是任何AutoCAD用户相关的足够的命令.GeoTools现在是几乎所有的AutoCAD用户有用.它解决了很多常见的问题和地图生产的要求和编辑AutoCAD是地理数据的一个非常方便的工具捕获(GIS底图).处理.转