HAProxy HTTP代理

HAProxy

​ 这是一个免费的负载均衡软件,提供了 L4(TCP) 和 L7(HTTP) 两种负载均衡能力,具有丰富的功能

HAProxy的核心功能:

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
  • 健康检查:支持TCP和HTTP两种健康检查模式
  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
  • HTTP请求重写与重定向
  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态

配置 http 代理

服务器IP地址
HAProxy10.10.10.41/24
Apache10.10.10.42/24

步骤一: 安装

[root@localhost ~]# yum -y install haproxy

步骤二: 编辑配置文件

[root@localhost ~]# vi /etc/haproxy/haproxy.cfg 
frontend http_80												<==定义一个名字为 http_80 的 frontend
        bind *:80,*:443									<==监听接口
        default_backend www							<==请求默认转发的后端地址池
backend www															<==定义一个名为 www 的后端地址池
        server web1 10.10.10.42:80 weight 2 check inter 2000ms rise 2 fall 3	redir https://10.10.10.42
//server	#定义后端真实服务器
//web1		#自己定义的名称
//10.10.10.42:80		#后端的主机和端口
//weight 2					#权重
//check							#健康监测
//inter							#设置间隔
//2000ms						#健康检查和超时时间为2000ms
//rise							#两次成功为UP
//fall							#三次失败为DOWN
//redir							#设置重定向
//https://10.10.10.42		#重定向为
        balance     roundrobin									<==定义负载均衡算法

步骤三: 启动haproxy服务器

日志

​ HAProxy 不会直接输出文件日志,所以要借助 linux 的 rsyslog 来让 HAProxy 输出日志

步骤一: 确保配置文件中有一下参数

global
    log         127.0.0.1 local2

步骤二: 开启udp514端口接收日志功能,并在末尾添加日志路径

[root@localhost ~]# vi /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514

local2.*  /var/log/ha.log		<==表示将发往facility local2的消息写入ha.log文件中,"local2.* "前面的local2表示facility,预定义的。*表示所有等级的消息

步骤三: 重启 rsyslog 和 haproxy

HTTPS代理
点击跳转HTTPS代理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用HAProxy代理HTTPS到HTTPS,需要进行以下步骤: 1. 配置HAProxy的SSL证书和密钥。您可以将证书和密钥存储在PEM格式的单个文件中,然后将其用作HAProxy配置文件中的ssl crt选项。例如: ``` frontend https-in bind *:443 ssl crt /path/to/cert.pem ``` 2. 配置HAProxy的后端服务器,以便它们可以使用HTTPS协议进行通信。您可以使用以下选项将服务器配置为使用HTTPS协议: ``` server web1 192.168.1.100:443 ssl verify none ``` - web1是服务器的名称 - 192.168.1.100是服务器的IP地址 - 443是服务器上的HTTPS端口 在这个例子中,我们使用了ssl verify none选项,因为我们没有为服务器提供证书验证。如果需要进行证书验证,请使用ssl ca-file选项,并将其设置为证书颁发机构的根证书。 3. 配置HAProxy的前端,以便它可以将HTTPS请求代理到后端HTTPS服务器。您可以使用以下选项将前端配置为使用HTTPS协议: ``` frontend https-in bind *:443 ssl crt /path/to/cert.pem default_backend https-servers backend https-servers mode tcp server web1 192.168.1.100:443 ssl verify none ``` 在这个例子中,我们将default_backend选项设置为https-servers,这是我们后端服务器的名称。我们还将mode选项设置为tcp,以便HAProxy可以将请求直接传递给后端服务器,而不需要进行HTTP解析。 请注意,如果您需要对请求进行修改或添加自定义HTTP标头,请使用HAProxyHTTP模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色蒲G英~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值