HAProxy后端web服务器状态检测

后端web服务器状态检测

HAProxy有三种状态检测方式:
1.基于四层的传输端口做状态监测
2.基于指定的uri做状态监测
3.基于指定的URI的resquest请求头部内容做状态监测

基于四层的传输端口做状态监测

四层传输时可以基于ip或者port做监测,也可以将ip和port监测在后端服务器上的另一个地址和端口用来实现数据通道和监测通道的分离
示例:
1.修改配置文件

[[email protected] ~]# vim /etc/haproxy/haproxy.cfg
frontend web
 bind 172.20.27.20:80
 mode tcp
 use_backend web_server
backend web_server
 server web1 192.168.27.21 check addr 192.168.27.21 port 80 inter 3s fall 3 rise 5
 server web2 192.168.27.22 check addr 192.168.27.22 port 80 inter 3s fall 3 rise 5 

测试
将web1的nginx服务停止

[[email protected] ~]# nginx -s stop

查看状态页面

基于指定的uri做状态监测

指定uri做状态监测是,在后端服务器上建立一个用户无法访问到的页面,然后再haproxy上对此页面做监测,如果能访问到此页面则表示后端服务器正常
示例:
1.在web2上创建一个moniter-page,仅用于探测,不给用户连接

[[email protected] ~]# mkdir /apps/nginx/html/monitor-page
[[email protected] ~]# echo ojbk > /apps/niginx/html/monitor-page/index.php     #网页文件创建在用户无法访问到的地方

2.修改haproxy配置文件

frontend web
 bind 172.20.27.20:80
 mode http
 use_backend web_server
 option httpchk GET /monitor-page/index.html HTTP/1.0   #添加需要监测的uri
backend web_server
 server web1 192.168.27.21 check addr 192.168.27.21 port 80 inter 3s fall 3 rise 5
 server web2 192.168.27.22 check addr 192.168.27.22 port 80 inter 3s fall 3 rise 5

查看状态页面

GET的监测方式存在一点问题,如果页面文件很大,页面每隔几面就需要完整的传输一次,这样就造成了不必要的了网络消耗,所以将探测方式改为只查看请求头部内容做状态监测

基于指定的URI的resquest请求头部内容做状态监测

基于uri的request请求头部的状态做监测和url做监测类似
示例:
1.修改haproxy的配置文件

listen web
 bind 172.20.27.20:80
 mode http
 option httpchk HEAD /monitor-page/index.html HTTP/1.0      #改为监测HEAD只监测页面的状态
 server web1 192.168.27.21:80 weight 1 check  inter 3s fall 3 rise 5
 server web2 192.168.27.22:80 weight 1 check  inter 3s fall 3 rise 5

2.在web1上创建监测文件

[[email protected] ~]# echo ojbk > /apps/nginx/html/monitor-page/index.html

3.查看状态

注意:用于探测的页面需要和开发进行协商,否则可能造成页面的丢失,将后端服务器全部down造成事故

原文地址:https://blog.51cto.com/11886307/2406616

时间: 2024-08-01 15:27:23

HAProxy后端web服务器状态检测的相关文章

nginx做反向代理和后端web服务器之间的交互

1.Nginx是什么? Nginx就是反向代理服务器. 首先我们先来看看什么是代理服务器,代理服务器一般是指局域网内部的机器通过代理服务发送请求到互联网上的服务器,代理服务器一般作用于客户端.比如GoAgent,翻墙神器. 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接.或则获得目标服务器的指定资源.Web代理服务器是网络的中间实体.代理位于Web客户端和Web服务器之间,扮演"中间人"的角色. HTTP的代理服务

通过脚本判断远程Web服务器状态码是否正常

通过脚本判断远程Web服务器状态码是否正常 说明: (1)生产环境常见的HTTP状态码列表,请查看我的博文:http://wutengfei.blog.51cto.com/10942117/1934645 (2)实验中远程nginx服务器IP地址:192.168.100.114 本地客户端IP地址:192.168.100.118 脚本如下 方法1:if #!/bin/bash httpcode=`curl -I -s 192.168.100.114|head -1|cut -d " "

nginx做前端,后端web服务器无法获取真正客户机的ip,解决方法

由于,前端使用了nginx作为代理服务器,代理后端的web服务器和tomcat服务器,发现后端服务器的访问日志记录的客户端ip是nginx反代机器的ip,,所以,以下方法可以让后端服务器获取到真正的客户机ip. 首先在前端nginx服务器的server{  } 里添加: proxy_set_header        Host            $host; proxy_set_header        X-Real-IP       $remote_addr; proxy_set_hea

nginx反向代理后端web服务器记录客户端ip地址

nginx在做反向代理的时候,后端的nginx web服务器log中记录的地址都是反向代理服务器的地址,无法查看客户端访问的真实ip. 在反向代理服务器的nginx.conf配置文件中进行配置. location /bbs { proxy_pass http://192.168.214.131/bbs; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarde

keepalived+nginx反向代理访问后端web服务器

 架设web服务器通过nginx反向代理访问,并通过keepalived配置nginx反向代理服务器和nginxweb 服务器的故障转移 1.系统:Centos6.6 2.反向代理:Keepalived+nginxproxy:  主机:PHP-API-P1       IP地址:192.168.0.111 主机:PHP-API-P2 IP地址:192.168.0.112 VIP :192.168.0.8 3.后端服务:Keepalived+nginx: 主机:PHP-API-S1 IP地址:19

分别使用Nginx反向代理和Haproxy调度器实现web服务器负载均衡

1.1 使用nginx实现静态分离得负载均衡集群 1.1.1 Nginx负载均衡基础知识 本实验使用的主机是: 主机 IP地址 角色 centos23.cn 192.168.3.23 Nginx反向代理服务器 centos24.cn 192.168.3.24 web服务器 centos25.cn 192.168.3.25 web服务器 网络拓扑图: Nginx的upstream负载的5种方式,目前最常用得前3种方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同得后端服务器,如果后端服务器d

高可用haproxy调度varnish服务器缓存后端动静分离集群架构

(1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题: (2) 在haproxy和后端主机之间添加varnish进行缓存: (3) 给出设计拓扑,写成博客: (4) haproxy的设定要求: (a) stats page,要求仅能通过本地访问使用管理接口:  (b) 动静分离: (c) 分别考虑不同的服务器组的调度算法: (5) haproxy高可用: 实验规划: 利用keepalived主备高可用两个haproxy服务器 对varnish缓存服务器做高可用 动态w

Haproxy搭建web集群

Haproxy搭建web集群重点内容1:1.四层负载均衡:1)DNS轮询:将同一个域名解析为多个不同的ip地址实现负载均衡.2)Nginx负载均衡:通过定义upstream 组名 {server ip:port weight=权重;-}后端服务,然后通过proxy_pass http://组名实现负载均衡.3)LVS负载均衡:通过ipvsadm定义VIP(集群IP)和real server(后端服务器)调用linux内核(kernel)模块ip_vs实现负载均衡.2.haproxy负载均衡:通过

Web服务器集群搭建

前言:本文记述了搭建一个小型web服务器集群的过程,由于篇幅所限,系统.软件的安装和基本配置我这里就省略了,只记叙关键配置和脚本内容.假如各位朋友想了解各软件详细配置建议查阅官方文档. 一 需求分析: 1.整体需求:搭建一个高可用的网站服务器集群,能承受高并发请求,能抵御一般的网络攻击,任何一台服务器的退服不影响整个集群的运作,并且能对各服务器的运行情况作出实时监控. 2.详细需求分析: 根据需求,计划根据以下拓扑搭建运行环境: 二 详细功能描述: 1.前端服务器采用nginx实现反向代理和负载