欢迎光临
我们一直在努力

使用Haproxy搭建Web群集

目录

一,Haproxy集群架构说明

架构说明

环境规划

二,安装HAProxy(以CentOS7.9为例)

1. 安装依赖

2. 上传并解压软件

2.1 安装 Lua

2.2 验证 Lua 安装

3. 安装 HAProxy

3.1 编译 HAProxy

3.2 安装 HAProxy

3.3 查看安装结果

三、核心配置HAProxy集群

1. 创建服务脚本

2. 优化执行文件路径

3. 创建运行HAProxy的用户

4. 配置HAProxy主配置文件

5. 启动HAProxy服务

6. 重启服务并检查状态

7. 开启HAProxy统计页面

7.1 在配置文件中添加统计页面配置

7.2 查看完整配置文件

7.3 重启服务使配置生效

7.4 测试统计页面访问

四、配置后端 Web 服务器

配置 Web1 容器(192.168.30.154)

1. 安装 Nginx

2. 启动并设置开机自启

3. 自定义 HTML 页面

4. 测试访问

配置 Web2 容器(192.168.30.155)

1. 安装 Nginx

2. 启动并设置开机自启

3. 自定义 HTML 页面

4. 测试访问

五、配置 NFS 服务器

1. 安装 NFS 服务

2. 创建共享目录

3. 准备图片文件并设置权限

3.1 放入图片文件

3.2 创建 Nginx 用户并设置权限

4. 配置 NFS 共享

5. 启动服务并设置开机自启

6. 验证共享配置是否生效

六、在两台 Nginx 服务器上挂载 NFS

1. 安装 NFS 客户端工具

2. 创建本地挂载点

3. 手动挂载测试

4. 验证挂载是否成功

5. 设置开机自动挂载

6. 重启 Nginx 服务

7. 修改 HTML 代码引用路径

7.1 修改 Nginx1 的 index.html

7.2 修改 Nginx2 的 index.html

8. 测试页面显示

七、HAProxy 日志配置

1. 备份配置文件

2. 配置 HAProxy 日志

3. 安装 rsyslog

4. 配置 rsyslog

5. 启动 rsyslog 服务

6. 创建日志目录

7. 查看日志

检验与测试

访问方式

 Haproxy排除思路与查看日志

1. HAProxy 故障排除通用思路


一,Haproxy集群架构说明

架构说明

HAProXy部署在前置层,不处理业务逻辑,仅做七层(HTTP)或四层(TCP)转发; 后端 Web 服务器可为NginWApache/Tomcat等,需确保内容一致(建议配合NFS、rsync或CICD同步);

环境规划

角色

IP & 主机名

操作系统

Haproxy 集群

IP: 192.168.30.153  主机名: haproxycluster153

CentOS 7.9 (内核 3.10.0-1160.el7.x86_64)

Web 容器 1

IP: 192.168.30.154 主机名: bjidc001ng154

CentOS 7.9 (内核 3.10.0-1160.el7.x86_64)

Web 容器 2

IP: 192.168.30.155  主机名: bjidc001ng155

CentOS 7.9 (内核 3.10.0-1160.el7.x86_64)

NFS服务器

IP:192.168.30.156

主机名:NFServer

CentOS 7.9 (内核 3.10.0-1160.el7.x86_64)

生产环境,一般推荐使用 KVM 虚拟机来单独做 Haproxy 负载均衡器。

在开始安装前,请确保已关闭防火墙并禁用 SELinux(测试环境建议):

# 停止并禁用 firewalld
systemctl stop firewalld
systemctl disable firewalld

# 临时关闭 SELinux
setenforce 0

# 永久禁用 SELinux(需重启生效)
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

二,安装HAProxy(以CentOS7.9为例)

1. 安装依赖

在 HAProxy 集群节点上,首先安装必要的编译依赖包:

yum -y install gcc pcre-devel openssl-devel zlib-devel readline-devel

2. 上传并解压软件

2.1 安装 Lua

  • 上传 lua-5.3.6.tar.gz 到服务器,并查看当前目录文件:

    [root@haproxycluster153 ~]# ls -lhrt
    total 3.1M
    -rw——-. 1 root root 1.5K Apr 11 11:00 anaconda-ks.cfg
    -rw-r–r– 1 root root 2.8M Jun 16 02:30 haproxy-2.2.14.tar.gz
    -rw-r–r– 1 root root 297K Jun 16 02:30 lua-5.3.6.tar.gz

  • 解压 Lua 源码包并进入目录:

    [root@haproxycluster153 ~]# tar xf lua-5.3.6.tar.gz
    [root@haproxycluster153 ~]# cd lua-5.3.6

  • 编译并安装 Lua 到 /usr/local/lua:

    make linux ; echo $?
    make install INSTALL_TOP=/usr/local/lua ; echo $?

  • 2.2 验证 Lua 安装

    检查安装目录及版本信息:

    ll /usr/local/lua/
    ll /usr/local/lua/bin/lua
    /usr/local/lua/bin/lua -v

    3. 安装 HAProxy

    3.1 编译 HAProxy

  • 解压 HAProxy 源码包并进入目录:

    [root@haproxycluster153 ~]# tar xf haproxy-2.2.14.tar.gz
    [root@haproxycluster153 ~]# cd haproxy-2.2.14
    [root@haproxycluster153 haproxy-2.2.14]#

  • 执行编译命令(启用 OpenSSL、ZLIB、Lua、PCRE 及 systemd 支持):

    make -j $(nproc) TARGET=linux-glibc \\
    USE_OPENSSL=1 \\
    USE_ZLIB=1 \\
    USE_LUA=1 \\
    LUA_LIB=/usr/local/lua/lib/ \\
    LUA_INC=/usr/local/lua/include/ \\
    USE_PCRE=1 \\
    USE_SYSTEMD=1 ; echo $?

  • 3.2 安装 HAProxy

    将编译好的 HAProxy 安装到指定目录:

    make install PREFIX=/usr/local/haproxy ; echo $?

    3.3 查看安装结果

    检查安装目录下的文件:

    ls -lhrt /usr/local/haproxy/

    三、核心配置HAProxy集群

    1. 创建服务脚本

    cd /usr/local/haproxy/
    cp -av /root/haproxy-2.2.14/examples/haproxy.init /etc/init.d/haproxy
    chmod +700 /etc/init.d/haproxy

    2. 优化执行文件路径

    cp -av /usr/local/haproxy/sbin/haproxy /usr/sbin/

    3. 创建运行HAProxy的用户

    useradd haproxy -s /sbin/nologin
    [root@haproxycluster153 ~]# id -u haproxy
    1000

    4. 配置HAProxy主配置文件

    注意:配置文件中需要修改uid、gid以及后端Web服务器的IP地址。

    [ ! -d /etc/haproxy ] && mkdir -pv /etc/haproxy
    cat >/etc/haproxy/haproxy.cfg<<'EOF'
    global
    log 127.0.0.1 local0 info
    maxconn 256
    #chroot /usr/local/haproxy
    uid 1000
    gid 1000
    daemon

    defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
    option httpclose
    option dontlognull
    option forwardfor
    option redispatch
    option abortonclose

    frontend http-in
    bind *:80
    default_backend servers

    backend servers
    option httpchk GET /index.html
    balance roundrobin
    server server1 192.168.30.154:80 check inter 2000 rise 2 fall 5
    server server2 192.168.30.155:80 check inter 2000 rise 2 fall 5
    EOF

    5. 启动HAProxy服务

    chkconfig –add /etc/init.d/haproxy
    service haproxy start

    6. 重启服务并检查状态

    service haproxy restart
    service haproxy status
    ps aux | grep haproxy

    7. 开启HAProxy统计页面

    7.1 在配置文件中添加统计页面配置

    编辑HAProxy配置文件,添加统计页面监听配置:

    # vim /etc/haproxy/haproxy.cfg
    listen stats
    mode http
    bind 0.0.0.0:9999
    stats enable
    log global
    stats uri /status
    stats auth haadmin:123com

    7.2 查看完整配置文件

    添加配置后,完整的配置文件内容如下:

    vim /etc/haproxy/haproxy.cfg

    global
    log 127.0.0.1 local0 info
    maxconn 256
    #chroot /usr/local/haproxy
    uid 1000
    gid 1000
    daemon

    defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
    option httpclose
    option dontlognull
    option forwardfor
    option redispatch
    option abortonclose

    # add haproxy status
    listen stats
    mode http
    bind 0.0.0.0:9999
    stats enable
    log global
    stats uri /status
    stats auth haadmin:123com

    frontend http-in
    bind *:80
    default_backend servers

    backend servers
    option httpchk GET /index.html
    balance roundrobin
    server server1 192.168.30.154:80 check inter 2000 rise 2 fall 5
    server server2 192.168.30.155:80 check inter 2000 rise 2 fall 5

    # check inter 2000 # 表示HAProxy服务器和节点之间的心跳频率(单位:毫秒)
    # rise 2 # 表示连续两次心跳检测成功则认为节点可用
    # fall 3 # 表示连续三次心跳检测失败则认为节点失效

    7.3 重启服务使配置生效

    service haproxy restart

    7.4 测试统计页面访问
  • 在浏览器中访问统计页面:

    http://<haproxy-ip>:9999/status

    请将 <haproxy-ip> 替换为您的HAProxy服务器实际IP地址。

  • 输入认证信息:

    • 用户名:haadmin
    • 密码:123com
  • 成功登录后,您将看到HAProxy的实时运行状态和统计信息页面。

    四、配置后端 Web 服务器

    配置 Web1 容器(192.168.30.154)

    1. 安装 Nginx

    yum install -y nginx

    2. 启动并设置开机自启

    systemctl start nginx
    systemctl enable nginx

    3. 自定义 HTML 页面

    创建测试页面以区分后端服务器:

    cat > /usr/share/nginx/html/index.html << 'EOF'
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <title>Web Server 154</title>
    <style>
    body {
    text-align: center;
    font-family: Arial;
    background-color: #f2f2f2;
    }
    h1 {
    color: #d9534f;
    }
    img {
    width: 400px;
    margin: 20px;
    border: 2px solid #333;
    }
    </style>
    </head>
    <body>
    <h1>Web Server 1 – 192.168.30.154</h1>
    <p>HAProxy 负载均衡测试页面</p>

    <!– 本地图片引用 –>
    <img src="./001.jpg" alt="Image 1">
    <img src="./002.jpg" alt="Image 2">

    <!– 如果没有本地图片,用下面的 –>
    <!–
    <img src="https://picsum.photos/400/300?random=1">
    <img src="https://picsum.photos/400/300?random=2">
    –>
    </body>
    </html>
    EOF

    4. 测试访问

    通过 HAProxy 服务器(192.168.30.153)访问,验证页面是否正常显示:

    http://192.168.30.153


    配置 Web2 容器(192.168.30.155)

    1. 安装 Nginx

    yum install -y nginx

    2. 启动并设置开机自启

    systemctl start nginx
    systemctl enable nginx

    3. 自定义 HTML 页面

    创建另一个测试页面以区分服务器:

    cat > /usr/share/nginx/html/index.html << 'EOF'
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <title>Web Server 155</title>
    <style>
    body {
    text-align: center;
    font-family: Arial;
    background-color: #f2f2f2;
    }
    h1 {
    color: #d9534f;
    }
    img {
    width: 400px;
    margin: 20px;
    border: 2px solid #333;
    }
    </style>
    </head>
    <body>
    <h1>Web Server 2 – 192.168.30.155</h1>
    <p>HAProxy 负载均衡测试页面</p>

    <!– 本地图片引用 –>
    <img src="./001.jpg" alt="Image 1">
    <img src="./002.jpg" alt="Image 2">

    <!– 如果没有本地图片,用下面的 –>
    <!–
    <img src="https://picsum.photos/400/300?random=1">
    <img src="https://picsum.photos/400/300?random=2">
    –>
    </body>
    </html>
    EOF

    4. 测试访问

    同样通过 HAProxy 服务器访问,验证第二个后端服务器页面:

    http://192.168.30.153

    多次刷新(按 F5 或 Ctrl+F5)观察页面变化,验证负载均衡是否生效。

    五、配置 NFS 服务器

    1. 安装 NFS 服务

    执行以下命令安装 NFS 服务所需的软件包:

    yum install -y nfs-utils rpcbind

    2. 创建共享目录

    创建用于存放 Nginx 图片文件的共享目录:

    mkdir -p /data/nginx_images

    3. 准备图片文件并设置权限

    3.1 放入图片文件

    将图片文件放入共享目录,并查看目录内容:

    ll /data/nginx_images

    3.2 创建 Nginx 用户并设置权限

    为确保 Nginx 进程能够正常访问文件,需要创建 Nginx 用户并设置相应的目录权限:

    # 创建 Nginx 系统用户(无家目录,禁止登录)
    useradd -r -s /sbin/nologin nginx

    # 将目录所有权授予 Nginx 用户和组
    chown -R nginx:nginx /data/nginx_images

    # 设置目录权限为 755(所有者可读写执行,组和其他用户可读执行)
    chmod -R 755 /data/nginx_images

    4. 配置 NFS 共享

    编辑 NFS 配置文件 /etc/exports,定义共享目录和访问权限:

    vim /etc/exports

    在文件中添加以下配置:

    /data/nginx_images 192.168.30.154(rw,sync,no_root_squash) 192.168.30.155(rw,sync,no_root_squash)

    5. 启动服务并设置开机自启

    启动 NFS 相关服务,并设置为开机自动启动:

    # 启动 rpcbind 服务(NFS 依赖此服务)
    systemctl start rpcbind

    # 启动 NFS 服务
    systemctl start nfs-server

    # 设置 rpcbind 开机自启
    systemctl enable rpcbind

    # 设置 NFS 服务开机自启
    systemctl enable nfs-server

    6. 验证共享配置是否生效

    执行以下命令验证 NFS 共享配置是否已正确生效:

    exportfs -v

    六、在两台 Nginx 服务器上挂载 NFS

    1. 安装 NFS 客户端工具

    在两台 Nginx 服务器上安装 NFS 客户端软件包:

    yum install -y nfs-utils

    2. 创建本地挂载点

    在每台 Nginx 服务器上创建用于挂载 NFS 共享的本地目录:

    mkdir -p /usr/share/nginx/html/images

    3. 手动挂载测试

    执行挂载命令,测试 NFS 共享是否可正常访问:

    mount -t nfs 192.168.30.156:/data/nginx_images /usr/share/nginx/html/images

    注意:如果挂载命令长时间无响应,通常表示网络或配置存在问题。请检查防火墙是否已关闭或已放行 NFS 相关端口。

    4. 验证挂载是否成功

    查看挂载点目录内容,确认 NFS 共享已成功挂载:

    ls /usr/share/nginx/html/images/

    5. 设置开机自动挂载

    将挂载配置写入 /etc/fstab 文件,实现系统启动时自动挂载:

    echo "192.168.30.156:/data/nginx_images /usr/share/nginx/html/images nfs defaults,_netdev 0 0" >> /etc/fstab

    6. 重启 Nginx 服务

    重启 Nginx 服务,确保服务能够识别新挂载的目录:

    systemctl restart nginx

    7. 修改 HTML 代码引用路径

    此时,两台 Nginx 服务器的 /usr/share/nginx/html/images/ 目录均已指向同一个 NFS 共享目录。接下来需要修改每台服务器的 HTML 文件,正确引用图片路径。

    7.1 修改 Nginx1 的 index.html

    编辑 Nginx1 的 /usr/share/nginx/html/index.html 文件,添加或修改图片引用:

    <img src="./images/1.1.png" alt="Image 1">
    <img src="./images/1.2.png" alt="Image 2">

    7.2 修改 Nginx2 的 index.html

    编辑 Nginx2 的 /usr/share/nginx/html/index.html 文件,添加或修改图片引用:

    <img src="./images/2.1.png" alt="Image 1">
    <img src="./images/2.2.png" alt="Image 2">

    8. 测试页面显示

    完成以上配置后,进行页面访问测试:

  • 清除浏览器缓存:使用浏览器的无痕模式或清除缓存,然后访问 HAProxy 的地址(例如 http://192.168.30.153)。
  • 刷新页面:观察页面中的两张图片是否都能正常加载显示。
  • 高可用性验证(可选):可以故意停止其中一台 Nginx 服务器,再次刷新页面,确认另一台服务器依然能够正常显示图片。这验证了图片存储在 NFS 共享上,不依赖于任何单台服务器的本地磁盘。
  • 七、HAProxy 日志配置

    HAProxy 支持通过 rsyslog 将日志记录到指定的设备,便于集中管理和分析。

    1. 备份配置文件

    在进行配置修改前,建议先备份原始配置文件:

    cp -av /etc/haproxy/haproxy.cfg /opt/haproxy/haproxy_cfg_v1.1.1

    2. 配置 HAProxy 日志

    编辑 HAProxy 主配置文件:

    vim /etc/haproxy/haproxy.cfg

    在配置文件中添加或修改以下内容:

    global
    # 日志核心配置
    # 日志发送到本地 rsyslog 服务;使用 local0 日志设施;日志级别为 info 及以上
    # 日志级别从低到高:debug < info < notice < warning < error < critical
    # info 级别:记录所有正常请求、健康检查、连接事件;深度排错时可改为 debug
    log 127.0.0.1 local0 info

    # 进程与权限配置
    maxconn 10240 # 最大并发连接数
    uid 1000 # 运行 HAProxy 的系统用户
    gid 1000 # 运行 HAProxy 的系统组
    daemon # 接受 systemd/sysv 托管时必须注释
    pidfile /var/run/haproxy.pid # PID 文件路径
    nbproc 1 # 工作进程数

    defaults
    # 默认配置段 defaults
    log global # 继承全局日志配置
    mode http # 工作模式:http 七层代理
    option httplog # 开启详细 HTTP 请求日志
    option dontlognull # 不记录空连接,减少无效日志
    option forwardfor # 向后端传递客户端真实 IP
    option redispatch # 节点故障时自动重定向到健康节点
    option abortonclose # 客户端断开时立即释放后端连接
    option http-server-close # 服务端主动关闭连接,兼容长连接
    option log-health-checks # 记录健康检查状态变更日志

    # 超时配置
    timeout connect 5s # 与后端建立 TCP 连接超时时间
    timeout client 50s # 客户端空闲超时时间
    timeout server 50s # 后端服务器响应超时时间
    timeout http-request 10s # 客户端发送完整 HTTP 请求超时时间
    timeout queue 1m # 请求在队列中等待的最长时间

    # — 监控页面部分 (独立出来,互不干扰) —
    listen stats
    mode http
    bind 0.0.0.0:9999 # 监控页面监听端口
    stats enable # 开启状态统计
    stats uri /status # 监控页面路径
    stats auth haadmin:123com # 监控页面登录密码
    stats refresh 30s # 页面自动刷新间隔
    stats admin if TRUE # 开启管理权限,可手动上下线节点
    log global # 继承全局日志配置

    # — 前端监听部分 (负责接收用户请求) —
    frontend http_front
    bind *:80 # 监听 80 端口
    default_backend servers # 将流量转发给名为 servers 的后端组

    # — 后端服务器部分 (负责实际处理请求) —
    backend servers
    balance roundrobin # 调度算法:加权轮询
    option httpchk GET /index.html # HTTP 健康检查,检测 index.html
    # 健康检查参数:check 开启检查;inter 间隔 2 秒;rise 2 次成功判定可用;fail 5 次失败判定故障
    server server1 192.168.30.154:80 check inter 2000 rise 2 fall 5 weight 1
    server server2 192.168.30.155:80 check inter 2000 rise 2 fall 5 weight 1

    配置完成后,检查语法是否正确:

    haproxy -c -f /etc/haproxy/haproxy.cfg

    3. 安装 rsyslog

    在服务器上安装 rsyslog 服务:

    yum -y install rsyslog

    4. 配置 rsyslog

    创建并编辑 HAProxy 专用的 rsyslog 配置文件:

    vim /etc/rsyslog.d/haproxy.conf

    添加以下配置内容:

    # 1. 开启本地 UDP 514 端口监听 (HAProxy 默认通过 UDP 发送 rsyslog 日志)
    # 仅绑定 127.0.0.1,避免对外暴露端口,提升安全性
    $ModLoad imudp
    $UDPServerAddress 127.0.0.1
    $UDPServerRun 514

    # 2. 配置 HAProxy 日志输出规则
    # 匹配 local0 设施的所有等级日志,输出到指定日志文件
    # & ~ 表示此配置后不再传递给其他日志规则,避免同时写入 /var/log/messages
    local0.* /var/log/haproxy/haproxy.log

    # 可选:分离警告及以上错误日志到单独文件,方便快速排查故障
    #& ~
    #local0.warning /var/log/haproxy/haproxy_error.log
    #& ~

    5. 启动 rsyslog 服务

    重启 rsyslog 服务使配置生效,并验证端口监听状态:

    systemctl restart rsyslog
    ss -tulanp | grep rsyslog

    6. 创建日志目录

    创建 HAProxy 日志存储目录:

    mkdir -pv /var/log/haproxy/

    7. 查看日志

    实时查看 HAProxy 日志输出,验证配置是否生效:

    tail -f /var/log/haproxy/haproxy.log

    检验与测试

    访问方式

    您可以通过以下地址访问结果样式图的预览页面:

    • 主预览地址:http://192.168.30.153:9999/

      • 该地址提供了完整的预览功能,包括样式切换、组件示例、实时效果对比等。
      • 推荐在 Chrome、Edge 等现代浏览器中打开,以获得最佳体验。
    • 备用访问地址:http://192.168.30.153

      • 当主地址因端口或网络限制无法访问时,可使用此备用地址。
      • 备用地址可能缺少部分高级功能,但核心样式预览功能保持完整。

     Haproxy排除思路与查看日志

    1. HAProxy 故障排除通用思路

    遵循结构化的排查步骤,可以避免在复杂问题中迷失方向。

  • 现象确认与影响评估

    • 明确症状:准确描述问题现象,例如:“用户访问网站返回 503 错误”、“部分后端服务器健康检查失败”、“新配置发布后流量没有按预期分发”。
    • 确定范围:判断是全局性故障(所有用户受影响)还是局部问题(特定地域、特定URL、特定客户端)。检查监控大盘,确认故障开始时间。
  • 信息收集与初步假设

    • 收集上下文:记录故障时间点、影响的 VIP(虚拟IP)或域名、客户端IP、相关的业务变更(如最近的配置发布、服务器扩容/下线)。
    • 检查 HAProxy 状态:
      • 使用 systemctl status haproxy 或 service haproxy status 检查进程是否在运行。
      • 通过 HAProxy 的统计页面(如 http://<haproxy-ip>:<stats-port>/haproxy?stats)或 echo “show info” | sudo socat stdio /var/run/haproxy.sock 命令,查看运行状态、连接数、会话率等关键指标。
    • 提出假设:基于现象,提出可能的原因,例如:“后端服务器池全部宕机”、“ACL规则匹配错误导致流量被阻断”、“SSL证书过期”。
  • 分层深入排查

    • 客户端/网络层:从客户端模拟请求,使用 curl -v 或 telnet 检查是否能连接到 HAProxy 的监听端口,网络链路是否通畅。
    • HAProxy 配置层(核心):
      • 语法检查:每次修改配置后,务必使用 haproxy -c -f /etc/haproxy/haproxy.cfg 验证配置文件语法。
      • 配置回溯:对比当前配置与上一个稳定版本的配置,确认变更点。
      • 重点检查:frontend/backend 定义、bind 端口、acl 规则、use_backend 指令、server 行定义(IP、端口、检查参数)、超时设置(timeout client, timeout server)。
    • 后端服务层:
      • 健康检查:确认 HAProxy 对后端服务器的健康检查(check)是否通过。在统计页面或使用 echo “show servers state” | sudo socat stdio /var/run/haproxy.sock 查看服务器状态(UP/DOWN)。
      • 后端可达性:从 HAProxy 服务器本身,使用 telnet 或 curl 测试是否能直接访问后端服务器的服务端口。
      • 后端性能:检查后端服务器自身的负载(CPU、内存、连接数)、应用日志是否有错误。
    • 系统资源层:检查 HAProxy 所在主机的系统资源,如文件描述符限制(ulimit -n)、网络连接数、CPU和内存使用率。
  • 赞(0)
    未经允许不得转载:171主机测评 » 使用Haproxy搭建Web群集
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址