HAProxy 反向代理 基础实验案例

一、检测活性非转发服务器

10.0.0.16:80为web服务器,10.0.0.16:9000为后端php服务器,监测10.0.0.16:9000为存活,才发送到10.0.0.16:80;如果10.0.0.16:9000不可用,则不进行转发。

frontend lck-web-80
    bind 10.0.0.11:80
    mode tcp
    use_backend lck-web1-80-hosts

backend lck-web1-80-hosts
    mode tcp
    server 10.0.0.16 10.0.0.16:80 check addr 10.0.0.16 port 9000 inter 3000 fall 2 rise 5

二、实现报错服务器

当10.0.0.16和10.0.0.17同时不能用时,则转发到10.0.0.18

frontend lck-web-80
    bind 10.0.0.11:80
    mode tcp
    use_backend lck-web1-80-hosts

backend lck-web1-80-hosts
    mode tcp
    server 10.0.0.16 10.0.0.16:80 check inter 3000 fall 2 rise 5
    server 10.0.0.17 10.0.0.17:80 check inter 3000 fall 2 rise 5
    server 10.0.0.18 10.0.0.18:80 check inter 3000 fall 2 rise 5 backup

三、手动下线服务器

在配置文件内直接下线10.0.0.17服务器

frontend lck-web-80
    bind 10.0.0.11:80
    mode tcp
    use_backend lck-web1-80-hosts

backend lck-web1-80-hosts
    mode tcp
    server 10.0.0.16 10.0.0.16:80 check inter 3000 fall 2 rise 5
    server 10.0.0.17 10.0.0.17:80 check inter 3000 fall 2 rise 5 disabled

四、重定向URL

访问10.0.0.11:80转发至http://www.baidu.com,注意:需要mode http,不支持mode tcp。如果是tcp,则会调用server 0.0.0.16

frontend lck-web-80
    bind 10.0.0.11:80
    mode http
    use_backend lck-web1-80-hosts

backend lck-web1-80-hosts
    mode http
    redirect prefix http://www.baidu.com
    server 10.0.0.16 10.0.0.16:80 check inter 3000 fall 2 rise 5

五、使用调度算法

frontend lck-web-80
    bind 10.0.0.11:80
    mode tcp
    use_backend lck-web1-80-hosts

backend lck-web1-80-hosts
    mode tcp
    balance roundrobin
    server 10.0.0.16 10.0.0.16:80 check inter 3000 fall 2 rise 5
    server 10.0.0.17 10.0.0.17:80 check inter 3000 fall 2 rise 5

六、总结:mode选用tcp、http的注意事项

mode tcp 性能比 http 好,如果没有redirect需求,就用tcp

client---->haproxy---->nginx
如果是http,需要一直做源目地址转换,如果是tcp不需要
如果是http,需要加option forwardfor,进行源IP透传

七、当mode选用http,使用forwardfor进行src IP透传

frontend+backend

frontend WEB_PORT_80
	bind 192.168.7.248:80
 	mode http
	use_backend web_prot_http_nodes

backend web_prot_http_nodes
	mode http
 	option forwardfor
 	server 192.168.7.101 192.168.7.101:8080 check inter 3000 fall 3 rise 5
 	server 192.168.7.102 192.168.7.102:8080 check inter 3000 fall 3 rise 5

listen代替frontend+backend

listen WEB_PORT_80
	bind 192.168.7.102:80
 	mode http
 	option forwardfor
 	server web1 192.168.7.101:80 check inter 3000 fall 3 rise 5
	server web2 192.168.7.101:80 check inter 3000 fall 3 rise 5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值