haproxy 实用配置解析

本文介绍 HAProxy 在 TCP/HTTP 层面作为高可用性反向代理服务器的应用,涵盖其主要功能特性,如基于 cookie 的调度、连接请求访问控制等。并通过一个实例配置展示了如何设置前端和后端服务器,实现基于轮询的负载均衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LB Cluster:
四层: lvs, nginx(stream), haproxy(mode tcp)
七层: http: nginx(http), haproxy(mode http), httpd…
 HAProxy: http://www.haproxy.org
 文档: https://cbonte.github.io/haproxy-dconv/

Haproxy功能
HAProxy是TCP / HTTP反向代理服务器,尤其适合于高可用
性环境
 可以针对HTTP请求添加cookie,进行路由后端服务器
 可平衡负载至后端服务器,并支持持久连接
 支持基于cookie进行调度
 支持所有主服务器故障切换至备用服务器
 支持专用端口实现监控服务
 支持不影响现有连接情况下停止接受新连接请求
 可以在双向添加,修改或删除HTTP报文首部
 支持基于pattern实现连接请求的访问控制
 通过特定的URI为授权用户提供详细的状态信息
 支持http反向代理
 支持动态程序的反向代理
 支持基于数据库的反向代理

配置段:
 global:全局配置段
进程及安全配置相关的参数
性能调整相关参数
Debug参数
 proxies:代理配置段
defaults:为frontend, backend, listen提供默认配置
fronted:前端,相当于nginx, server {}
backend:后端,相当于nginx, upstream {}
listen:同时拥有前端和后端,适用于一对一环境

defaults
    mode                    http
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend http 192.168.1.33:80
stats enable
stats uri /hastats
stats auth ha1:centos
#stats auth ha2:mage
default_backend webs
backend webs
balance roundrobin
option httpchk GET /index.html HTTP/1.1\r\nhost:
cookie SRV insert nocache
server web1 192.168.10.30:80 check
server web2 192.168.10.32:80 check maxconn 5000

#frontend http 192.168.1.33:80


#frontend  main *:5000
 #   acl url_static       path_beg       -i /static /images /javascript /stylesheets

#  acl url_static       path_end       -i .jpg .gif .png .css .js

 #   use_backend static          if url_static
  #  default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
#backend static
#   balance     roundrobin
#   server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
#backend app
#   balance     roundrobin
#  server  app1 127.0.0.1:5001 check
# server  app2 127.0.0.1:5002 check
# server  app3 127.0.0.1:5003 check
# server  app4 127.0.0.1:5004 check`这里写代码片`

未完待续。。。。。。

基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值