云网牛站
所在位置:首页 > Linux云服务器 > 在Debian 10(Buster)上安装和配置HAProxy的方法

在Debian 10(Buster)上安装和配置HAProxy的方法

2019-08-27 09:48:20作者:上吕子稿源:云网牛站

本文介绍在Debian 10(Buster)操作系统上安装和配置HAProxy的方法,在我的设置中,我将有两个后端Web应用程序,并配置HAProxy以对这些HTTP服务器进行负载均衡。HAProxy是一个开源,可靠的高性能TCP/HTTP负载均衡器和代理服务器,可在Linux、FreeBSD和Solaris上运行,HAProxy是用C语言编写的,它为在多个服务器上运行的基于TCP和HTTP的应用程序提供高可用性负载均衡器。

 

一、所用的服务器和更新Debian 10系统

1、使用的服务器如下,一共有三台:

第一台192.168.10.10对应HAProxy、第二台192.168.10.11对应Apache Web Server 1、第三台192.168.10.12对应Apache Web Server 2。

2、更新Debian系统

将你使用的所有服务器更新为最新的可用软件包:

sudo apt update && sudo apt -y upgrade

sudo reboot

参考:在Debian/Ubuntu上配置自动安全更新(无人值守升级)的方法

 

二、配置Apache后端服务器

在本演示中,我们将使用Apache Web服务器作为HAProxy前端代理的后端,我将使用以下命令在我的两个Debian 10服务器上安装Apache:

在Server1上:

sudo apt update

sudo apt -y install apache2

echo "<H1>Hello from Server1</H1>" | sudo tee /var/www/html/index.html

在Server2上:

sudo apt update

sudo apt -y install apache2

echo "<H1>Hello from Server2</H1>" | sudo tee /var/www/html/index.html

你可以尝试访问Server1和Server2 Web URL并查看响应。

参考:在Debian 10 Linux上安装Apache Web Server的方法

 

三、在Debian 10上安装HAProxy

要在Debian 10(Buster)上安装HAProxy,请在终端上运行以下命令:

sudo apt -y install haproxy

配置HAProxy:

$ sudo nano /etc/haproxy/haproxy.cfg

加入如下行:

# Add to the end

# Define frontend

frontend apache_front

# Frontend listen port - 80

bind *:80

# Set the default backend

default_backend    apache_backend_servers

# Enable send X-Forwarded-For header

option             forwardfor

# Define backend

backend apache_backend_servers

# Use roundrobin to balance traffic

balance            roundrobin

# Define the backend servers

server             backend01 192.168.10.11:80 check

server             backend02 192.168.10.12:80 check

重启haproxy服务:

sudo systemctl restart haproxy

验证配置是否正常工作以访问前端HAProxy服务器:

在Debian 10(Buster)上安装和配置HAProxy的方法

再次重新加载页面,应该从server2获得响应:

在Debian 10(Buster)上安装和配置HAProxy的方法

对于TCP后端,你的配置将类似于下面的内容:

frontend rserve_frontend

bind *:80

mode tcp

option tcplog

timeout client  1m

default_backend rserve_backend

backend rserve_backend

mode tcp

option tcplog

option log-health-checks

option redispatch

log global

balance roundrobin

timeout connect 10s

timeout server 1m   

server rserve1 <rserve hostname1>:6311 check

server rserve2 <rserve hostname2>:6311 check

server rserve2 <rserve hostname3>:6311 check

 

四、配置SSL

合并证书和私钥:

cat fullchain.pem privkey.pem > haproxy.pem

然后配置HAProxy以在前端使用SSL证书:

frontend apache-frontend

bind *:80

bind *:443 ssl crt /etc/letsencrypt/live/webapp.computingforgeeks.com/haproxy.pem

注:以上地址请自行更改为自己的。至此,操作完成。

 

相关主题

使用haproxy-wi从Web界面管理HAProxy服务器

精选文章
热门文章