码迷,mamicode.com
首页 > 系统相关 > 详细

Linux_haproxy(3)v1.0

时间:2016-08-20 22:04:20      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:haproxy

 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 基于cookiesession 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


Linux_haproxy(3)v1.0

标签:haproxy

原文地址:http://zx337954373.blog.51cto.com/11323677/1840621

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!