ZBLOG

nginx tcp 代理两台服务器

要使用 Nginx 进行 TCP 代理到两台服务器,你可以使用 stream 模块。以下是一个简单的配置示例,展示了如何设置 Nginx 来代理 TCP 流量到两个不同的后端服务器。

首先,请确保你的 Nginx 编译时包含了 --with-stream 参数,以启用 stream 模块。

示例配置

假设你有两台后端服务器,它们的 IP 地址分别为 192.168.1.2192.168.1.3,并且它们都监听在 5000 端口。

# nginx.conf 或者单独的 stream 配置文件
worker_processes auto;

events {
    worker_connections 1024;
}

stream {
    upstream backend_servers {
        # 定义后端服务器
        server 192.168.1.2:5000;
        server 192.168.1.3:5000;
    }

    server {
        listen 12345;  # Nginx 接收客户端连接的端口
        proxy_pass backend_servers;  # 将流量转发给上面的后端服务器
        
        # 可选:配置负载均衡算法,例如轮询、最少连接等
        # load_balance round_robin; 
    }
}

配置说明

  • upstream:定义了一个名为 backend_servers 的上游组,其中包含两个后端服务器。
  • server:指定 Nginx 将监听在某个特定端口(如本例中的12345),并将流量代理到上游定义的服务器组中。
  • proxy_pass:指示将请求传递到指定的上游组。

启动和测试

  1. 保存上述配置文件,并重启或重新加载 Nginx:

    sudo nginx -s reload
    
  2. 使用工具(例如 telnet 或者其他 TCP 客户端)连接到 Nginx 的监听端口(本例中是12345)以测试是否能成功代理到后端服务器。

注意事项

  • 确保防火墙允许通过 Nginx 所监听的端口。
  • 根据需要调整负载均衡策略,可以使用多种算法,例如轮询、加权轮询等。
  • 根据具体需求,可以加入更多高级功能,比如 SSL 支持、限流等。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=18966

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?