如何禁止负载均衡器后方DigitalOcean Droplet的直接HTTP访问?
禁止负载均衡器外直接访问DigitalOcean Droplet上的Node.js服务
方法一:使用DigitalOcean云防火墙(推荐,批量管理多台Droplet)
- 登录DigitalOcean控制面板,进入「Firewalls」页面
- 创建新防火墙,命名为比如「Restrict Node.js Access to LB」
- 配置入站规则:
- 添加一条规则:协议选「TCP」,端口填
8000,来源选择「负载均衡器」,指定你的负载均衡器(XX.YY.ZZ.UU)或直接选中对应负载均衡器资源 - 保留默认SSH规则(端口22,来源设为你常用的IP范围),确保能正常远程管理Droplet
- 添加一条规则:协议选「TCP」,端口填
- 出站规则保持默认(允许所有出站流量)即可
- 将三台目标Droplet(x.y.z.1、x.y.z.2、x.y.z.3)关联到该防火墙
- 保存设置后,只有负载均衡器能访问Droplet的8000端口,外部直接访问会被拦截
方法二:配置Droplet本地防火墙(以ufw为例)
如果仅需单台配置或不想用云防火墙,可在每台Droplet上操作:
- 登录Droplet终端,启用ufw(未启用的话):
sudo ufw enable - 允许负载均衡器访问8000端口:
sudo ufw allow from XX.YY.ZZ.UU to any port 8000 - 保留SSH访问权限:
sudo ufw allow ssh - 验证规则生效:
sudo ufw status - 对另外两台Droplet重复上述步骤
内容的提问来源于stack exchange,提问作者Prakash Dutta
相关产品推荐
相关产品推荐

