Featured image of post 闲置玩客云设备利用,组个负载均衡

闲置玩客云设备利用,组个负载均衡

前言

上一篇《利用cloudflare转发实现域名免端口访问内网服务》我们通过cloudflare代理转发功能实现域名免端口方式访问家庭内网的博客系统,基本上已经可以完美替代云服务器上的博客系统。本次按计划将剩余几台玩客云组个负载均衡,以提高博客系统对外服务性能(其实也没啥访问量,纯属闲置设备利用)。

开整

这里用到三台设备,1台作为负载均衡服务(服务器A:192.168.1.80),两台作为子节点提供博客系统(服务器B:192.168.1.81,服务器C:192.168.1.82)。 服务器A,提供https代理 和 负载均衡,且需要有IPv6地址可对外提供服务。 服务器B、服务器C 提供博客系统,内网http服务即可

服务器A配置

vi /etc/nginx/nginx.conf

http{
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;
    
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    # 定义backend服务器集群
    upstream backend {
        server 192.168.1.81; # 服务器B
        server 192.168.1.82; # 服务器C
    } 
    # 主服务器提供https服务
    server {
        listen 8099 ssl default_server;
        listen [::]:8099 ssl default_server;
        ssl_certificate    /home/zfj/etc/zfj1441.eu.org.pem;
        ssl_certificate_key    /home/zfj/etc/zfj1441.eu.org.key;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

# 重启nginx
systemctl restart nginx

服务器B/C配置

vi /etc/nginx/sites-enabled/default

# 子服务器只需要提供http服务
server{
    server_name _;
    location / {
        root /home/zfj/www/site/public;
        index index.html index.htm index.nginx-debian.html;
        try_files $uri $uri/ =404;
   }
}

# 重启nginx
systemctl restart nginx

其他基本配置

路由器防火墙放通服务器A的https服务 图1

cloudflare域名DNS解析到服务器A的IPv6地址,为方便验证开启“开发模式”(不实用cdn缓存) 图2 图3

测试验证

为方便观察https请求到哪台服务器上,分别修改服务器B、服务器C博客系统主页内容

总结

本次只演示了基本的负载均衡能力,服务器B、服务器C轮询被服务器A调用。复杂的负载均衡以后有需要在研究。

 赣ICP备18015110号-1   
使用 Hugo 构建 主题 StackJimmy 设计