如何配置禁止公网直接访问Digital Ocean负载均衡后的Web服务器?
仅允许通过Digital Ocean负载均衡器访问Web服务器的实现方法
可以通过云防火墙+本地防火墙的双重配置来实现,具体步骤如下:
1. 利用Digital Ocean云防火墙限制流量(推荐)
Digital Ocean的云防火墙可直接关联Droplet和负载均衡器,无需手动维护IP:
- 登录DO控制台,进入「Firewalls」页面,创建新防火墙或编辑现有绑定Web服务器的防火墙
- 添加入站规则:
- 规则1:源选择「Load Balancers」,选中你的目标负载均衡器实例,端口填
80,443,动作设为「Allow」 - 规则2:源选择「IPv4」,填
0.0.0.0/0,端口填80,443,动作设为「Deny」 - 保留必要管理规则:比如添加规则允许你的固定公网IP访问
22端口(SSH),避免无法远程管理服务器
- 规则1:源选择「Load Balancers」,选中你的目标负载均衡器实例,端口填
- 将该防火墙绑定到两台Web服务器Droplet上
2. 配置Web服务器本地防火墙(双重保障)
以Ubuntu的ufw为例:
- 允许负载均衡器IP访问Web端口:
ufw allow from <你的负载均衡器公网IP> to any port 80,443 - 拒绝所有其他公网IP访问Web端口:
ufw deny 80/tcp ufw deny 443/tcp - 确保SSH访问正常(仅允许你的管理IP):
ufw allow from <你的管理公网IP> to any port 22 - 重启防火墙生效:
ufw reload
3. 验证配置
- 直接在浏览器输入Web服务器的公网IP,应无法打开网站
- 通过负载均衡器的域名或公网IP访问,网站正常加载即为配置成功
内容的提问来源于stack exchange,提问作者uname sky
相关产品推荐
相关产品推荐

