HTTP使用端口80
  1. 该用户的网页浏览器发送一个请求到端口80的负载平衡器,使用完全合格的域名/ URI的(如http://host.domain.tld:80 )。
  2. 域名系统(DNS)解析URI的一个静态IP地址,完全合格的域名。 (所有负载平衡器服务器共享相同的完全限定的域名,但有独特的静态IP地址。) 
    例如:有两个负载均衡, 服务器A服务器B的DNS指示第一个客户端请求服务器,服务器B的第二个,第三个服务器A,等。
  3. 如果负载平衡器服务器不可用,到该服务器的请求将超时。 然而,当这一切发生的时候,大多数浏览器重新发送到DNS客户端的请求,并请求将直接在这种情况下,第二负载平衡器。 因此,如果你的两个负载平衡器服务器不可用,它会导致在交通到您的网站有一个较慢的初始加载时间的一半。
  4. 由于每个服务器负载平衡器Apache HTTP服务器配置监视端口80,阿帕奇处理所有传入客户端请求的负载均衡服务器
  5. Apache的虚拟主机配置有一个重写规则,将请求发送到http://127.0.0.1:85 (即本地主机端口85)。
  6. 的haproxy配置监测http://127.0.0.1:85 ,和接收请求。
  7. 引用的haproxy的负载均衡池,在其配置文件,确定应用服务器路由客户端请求,根据上一轮循环赛制。 该服务器收到请求一般是自动缩放组成的数组专用的应用程序服务器的一部分。 的haproxy转发请求到服务器的端口,在其配置文件(通常是端口80)引用。
的HTTPS使用端口443
当你配置一台服务器使用HTTP安全(HTTPS),负载均衡服务器将执行传入客户端连接中的常见问题,名为“ 我如何设置SSL? SSL终止。

所需的引导脚本
磅房委会代理安装。 安装的haproxy。 以下投入使用这个RightScript。
 :由“OPT_”前缀的投入通常是可选的,不是强制性的。
HEALTH_CHECK_URI 
可选的测试,但生产所需。 此引用www根路径从一个网页,应该返回一个确定的200响应。 网页的内容并不重要,但它的名字应该是唯一的(最好包含一个随机数)。 用于所有的应用服务器在同一页,以确定服务器是否正在运行(  )。 页面的内容可以是简单的文字:OK。 例如,如果页面http://www.mydomain.com:80/hlthchk378923.html和它的内容只有两个字母:OK,你只需指定的HEALTH_CHECK_URI / hlthchk378923.html。虽然您可以使用健康检查页面的index.html,这是不推荐使用。 这是因为大多数网站有一个index.html页面,因此,是有风险的,负载平衡器会指示客户端的流量,一个网站比你自己的云。
例如:Amazon EC2云回收的IP地址;所以,如果一台服务器被终止,另推出不同的网站使用相同的IP地址和页面的名称,您的健康检查页面名称的haproxy可以考虑服务器运行,即使虽然这是别人的,它的直接交通。
出于这个原因,你应该总是使用一个唯一的文件名健康检查URI。 这个值显示的haproxy配置文件:
When internal servers support a status page option httpchk GET /hlthchk378923.html 

LB_APPLISTENER_NAME 
一池的haproxy负载均衡服务器的名称,例如,WWW。 负载平衡器服务器相同LB_LISTENER_NAME成为同一池中的一部分。 的haproxy配置文件包括该配置块的价值:
  #示例:听myapp的0.0.0.0:80
听WWW 127.0.0.1:85
模式的HTTP
平衡roundrobin 
LB_BIND_ADDRESS 
这是说的haproxy监听的IP地址,通常由指定的IP地址:127.0.0.1 localhost的。
LB_BIND_PORT 
这是的haproxy监听的端口,通常85。
LB_TEMPLATE_NAME 
这是该基地的haproxy将用于配置文件的名称。 根据定义的输入值,这个文件被修改。 当前值是:
 haproxy_fullssl haproxy_http haproxy_tcp 
注:不要使用haproxy_fullssl的选项,以使您的负载均衡服务器的SSL。 执行此功能使用中的常见问题1 RightScript( "WEB apache FrontEnd https vhost" )题为我如何设置SSL?
OPT_LB_STATS_PASSWORD 
用于设置密码的haproxy的状态报告(“统计”)页。
OPT_LB_STATS_URI 
通常设置的haproxy状态,此设置定义如何访问的haproxy的状态报告网页,提供信息上的服务器正在运行和侦听作为负载平衡器池的一部分。 例如,如果你设置这个值的haproxy状态,你会使用http://host.domain.tld/haproxy-status访问状态报告页。 你可以改变这个URI。 这个值显示的haproxy配置文件:
 # Haproxy status page stats uri /haproxy-status 
OPT_LB_STATS_USER 
这可以用来设置一个用户名的haproxy状态页。
磅Apache反向代理配置。设置了Apache Web服务器的反向代理,包括/ etc / httpd的 ,D / RightScale的 文件夹,其中包含用于Apache的虚拟主机文件。有没有输入。
SYS的syslog-ng和的haproxy重新启动。为syslog-ng和的haproxy重新启动服务,以确保新鲜配置。

所需的应用程序服务器脚本

下面的脚本必须运行在您的配置,使您的haproxy负载平衡器服务器的交互应用服务器上。
的LB应用的haproxy连接。连接的服务器上运行的haproxy实例。 此脚本必须运行在每个应用程序服务器将加入负载平衡器池。
LB_HOSTNAME 
完全合格的haproxy所有服务器上安装的主机名。 例如,,如果loadbalancer.example.com有两个相关的静态IP地址的服务器负载平衡器,你会作为LB_HOSTNAME输入loadbalancer.example.com。 这些主机必须与DNS注册该脚本可以找到所有的haproxy服务器和更新自己的配置文件。
OPT_SESSION_STICKINESS 
当设置为“真”的haproxy将重新连接会话的最后一个服务器连接到他们(“粘性会话”),通过cookie。
的LB应用的haproxy断开。断开从运行的haproxy(即删除负载平衡器池),通常在服务器关机的服务器实例。 这通常是作为一个应用服务器上解除脚本运行。

配置文件

/ home /的haproxy / rightscale_lb.cfg文件的haproxy的主配置文件。
在这个文件的最后一行列出在应用服务器的负载均衡池。 当“的LB应用的haproxy连接”应用程序服务器上运行,它增加了该服务器所有的haproxy在所有负载平衡器服务器的配置文件具有相同LB_HOSTNAME。
 #server srv3.0 10.253.43.224:8888 cookie srv03.0 check inter 2000 rise 2 fall 3 服务器I-b70793de 10.251.26.177:8888 cookie的I-b70793de检查除3000上涨2秋天3 maxconn 255 
/ etc / httpd的/ rightscale.d目录包 含Apache Web服务器的虚拟主机文件。 例如:
http-80-yoursite.vhost 
http-8888-yoursite.vhost 
https-443-yoursite.vhost

转载于:https://blog.51cto.com/wuwei5460/1081656

haproxy是如何工作的?相关推荐

  1. 1、代理服务器及haproxy基础

    1.web站点架构 前端一台主机提供app server,当用户请求到达时,如果要存储结构化数据,就需要找一台主机做database server.当业务达到一定程度时,要把web server.存储 ...

  2. haproxy小结(一)基础概念篇

    HAProxy是法国人Willy Tarreau个人开发的一个开源软件,目标是应对客户端10000以上的同时连接,为后端应用服务器.数据库服务器提供高性能的负载均衡服务.HAproxy可以实现基于TC ...

  3. RabbitMq+Haproxy负载均衡

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保 ...

  4. Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)

    上一节我们有了两个分片的pxc集群,这一节我们接着安装haproxy和keepalived的实现集群的高可用 一.先下载haproxy的镜像 [root@localhost ~]# docker pu ...

  5. haproxy 负载_负载测试HAProxy(第1部分)

    haproxy 负载 by Sachin Malhotra 由Sachin Malhotra 负载测试HAProxy(第1部分) (Load Testing HAProxy (Part 1)) Thi ...

  6. haproxy+keepalived实现高可用负载均衡

    一,软件介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,适用于那些负载特大的web站点,这些站点通常又需要会话保持或七 ...

  7. LNMP Keepalived Haproxy 笔记

    以下内容只是本人实验的记录笔记.以下内容是参照某真实案例中的部分内容所攒写,当然本人对Linux各应用系统不是很熟悉,大家将就看看,有错的请指出.由于本人是在VMWare上仿照生产网络环境搭建的架构, ...

  8. HAProxy.md

    HAProxy 代理http 1.正向代理 2.反向代理 代理作用:web缓存(加速).反向代理.内容路由(根据流量及内容类型等将请求转发至特定服务器).转码器: 在代理服务器上添加Via首部: 缓存 ...

  9. HAProxy负载均衡代理

    HAProxy负载均衡代理 1. HAProxy概述       HAProxy 提供高可用性.负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. ...

最新文章

  1. you need to build uWSGI with SSL support to use the websocket handshake api function !!!
  2. java内存对象模型
  3. java(1)——用notepad++编译java(javac.exe)
  4. Git 常用操作 | 重写 commit 历史
  5. 移除指定的session
  6. Ubuntu16.4(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境安装
  7. 如何让学习变得像游戏一样好玩
  8. centos 6 mysql 5.7.13 编译安装_Centos 6.5 下面 源码编译 安装 Mysql 5.7.13
  9. html5中api有什么,HTML5中的API概览
  10. 【JMeter】Threads(users)3种类型
  11. Undedared identifier问题解决
  12. java 动态属性_Java 类动态添加属性字段的操作
  13. MySQL 性能方案
  14. 打通Linux脉络系列:进程、线程和调度-宋宝华-专题视频课程
  15. sql 分组 行列转换
  16. harmonyos2.0手机,华为HarmonyOS 2.0将于6月2日发布,华为手机可一键升级
  17. 怎么在服务器解压文件,云服务器怎么解压文件
  18. 同一个无线局域网(wifi)内,两台电脑无法通过ip通信
  19. 为什么mysql默认事务隔离级别为RR
  20. 日文电脑文件路径问题

热门文章

  1. Nginx负载均衡和F5的区别---系统运维工作笔记001
  2. ES8新特性_await表达式---JavaScript_ECMAScript_ES6-ES11新特性工作笔记049
  3. Seata多微服务互相调用_全局分布式事物使用案例_Storage-Module 仓储微服务说明---微服务升级_SpringCloud Alibaba工作笔记0063
  4. springcloud工作笔记107---Springboot中MyBatis 自动转换 map-underscore-to-camel-case=true 开启驼峰命名映射
  5. java图像处理001---图像合成_java实现雨滴头像效果_可以放在地图上使用_自动生成雨滴头像
  6. [SCM]源码管理 - SVN的备份和还原
  7. 随想录(锁的来由和使用)
  8. c语言如何实现全部参数加9,从C语言到汇编(九)函数参数
  9. jsp下拉列表java_java – JSP:下拉列表2取决于下拉列表1
  10. html5连接mysql数据库操作_html5-本地数据库的操作