配置Balancer-Manager

Apache HTTP Server 还提供了一个内置的 Balancer-Manager 应用程序,用于轻松管理和监控负载均衡器。

在 /etc/httpd/conf.d 中添加以下配置文件。

[root@proxy-01 ~]# vi /etc/httpd/conf.d/lbmanager.conf

添加以下指令以启用 Balancer-Manager 。

<location "/balancer-manager">
        SetHandler balancer-manager
        allow from all
</location>

重启 httpd.service 。

[root@proxy-01 ~]# systemctl restart httpd.service

从客户端浏览器浏览 URL http://proxy-01.example.com/balancer-manager。

Balancer-Manager 已配置并可以使用。

测试环境

在本文中,我们使用了三台虚拟机。

服务器1

主机名:proxy-01.example.com
IP: 192.168.1.100/24
用途: 反向代理, 负载均衡器

服务器2

主机名:web-01.example.com
IP: 192.168.1.101/24
用途: web服务器

服务器3

主机名:web-02.example.com
IP: 192.168.1.102/24
用途: web服务器

我们已经将 web-01.example.com 和 web-02.example.com 配置为 Web 服务器页。

现在,我们将使用 mod_proxy 和 Apache HTTP 服务器将 proxy-01.example.com 配置为负载均衡器。

on  it road.com

配置反向代理和 HTTP 负载均衡器:

Apache HTTP Server 需要 mod_proxy 模块来配置和充当负载均衡器。
mod_proxy 模块包含在 httpd 包中,因此它会在 CentOS 7 平台上与 Apache HTTP Server 一起自动安装。

使用以下命令检查 mod_proxy 是否可用

[root@proxy-01 ~]# httpd -M | grep proxy
 proxy_module (shared)
 proxy_ajp_module (shared)
 proxy_balancer_module (shared)
 proxy_connect_module (shared)
 proxy_express_module (shared)
 proxy_fcgi_module (shared)
 proxy_fdpass_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_scgi_module (shared)
 proxy_wstunnel_module (shared)

在 /etc/httpd/conf.d/ 中添加配置文件。

[root@proxy-01 ~]# vi /etc/httpd/conf.d/proxy.conf

其中添加以下反向代理配置。

<proxy balancer://appset>
        BalancerMember http://web-01.example.com
        BalancerMember http://web-02.example.com
        ProxySet lbmethod=bytraffic
</proxy>
ProxyPass "/app" "balancer://appset/"
ProxyPassReverse "/app" "balancer://appset/"

重启 httpd.service 。

[root@proxy-01 ~]# systemctl restart httpd.service

使用浏览器打开: http://proxy-01.example.com/app。

页面请求已转发到 web-01.example.com 或者 web-02.example.com
刷新页面,将转发到另一台web服务器上。

我们在 Apache HTTP 服务器中配置了一个简单的反向代理,即两个 Web 服务器之间的负载平衡。

mod_proxy 有很多配置选项,我们可以创建相对高级的配置,例如热备用、热备用和故障转移集。
完整的文档可在 Apache 网站上找到。

安装 Apache HTTP 服务器:

登录到 proxy-01.example.com。

使用 yum 命令安装 Apache HTTP Server。

[root@proxy-01 ~]# yum install -y httpd

启动并启用 httpd.service 。

[root@proxy-01 ~]# systemctl start httpd.service
[root@proxy-01 ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

在 Linux 防火墙中允许 HTTP 服务。

[root@proxy-01 ~]# firewall-cmd --permanent --add-service=http
success
[root@proxy-01 ~]# firewall-cmd --reload
success

使用浏览器打开: http://proxy-01.example.com, 可以看到 Apache HTTP Server 正在运行并显示默认测试页面。

保护 Balancer-Manager:

Balancer-Manager 是一个用于监控和管理 Apache HTTP 负载均衡器的简单应用程序。
因此,它也缺少任何隐式用户身份验证。
但是,我们可以配置基本 HTTP 身份验证来限制未经授权的访问。

创建一个密码文件并其中添加一个用户。

[root@proxy-01 ~]# htpasswd -c /etc/httpd/htpasswd JackLiu
New password:
Re-type new password:
Adding password for user JackLiu

修改 /etc/httpd/conf.d/lbmanager.conf 实现基本的 HTTP 认证。

[root@proxy-01 ~]# vi /etc/httpd/conf.d/lbmanager.conf

更新后的配置应该如下:

<location "/balancer-manager">
        SetHandler balancer-manager
        AuthType "basic"
        AuthName "balancer-manager"
        AuthUserFile /etc/httpd/htpasswd
        Require valid-user
</location>

重启 httpd.service 。

[root@proxy-01 ~]# systemctl restart httpd.service

再次打开 http://proxy-01.example.com/balancer-manager。

现在,它要求用户登录。

在 CentOS 7 上将 Apache 配置为 HTTP 负载均衡器

在本文中,我们将 Apache 配置为 CentOS 7 服务器上的反向代理和 HTTP 负载均衡器。

日期:2020-09-17 00:16:35 来源:oir作者:oir