配置服务器访问 IP 黑名单
1 配置 IP 访问黑名单的意义
Web 服务器配置访问 IP 黑名单是一种安全措施,用于阻止来自特定 IP 地址的访问请求:
- 防止恶意访问和攻击:黑名单通常包含发起 DDoS 攻击、尝试暴力破解、注入恶意代码的地址,阻止后可以保护服务器;
- 保护服务器资源:恶意访问会消耗带宽、CPU 和内存,限制后可以把资源留给合法用户;
- 提高数据安全性:减少数据泄露、数据破坏等威胁;
- 维护用户体验:避免恶意访问导致性能下降或服务不可用;
- 遵守法律法规:屏蔽与非法活动相关的来源,帮助网站满足合规要求;
- 减少日志分析负担:减少日志中不必要的条目,降低监控与分析成本;
- 定制访问控制:按需屏蔽特定用户或网络,实现更精细的控制;
- 保护品牌声誉:阻止恶意活动,维护品牌形象。
需要注意,IP 黑名单并非完美无缺:多个用户共享同一 IP 时可能误拦正常访问,而且需要定期更新才能保持有效,因此通常与白名单、防火墙规则等结合使用。
2 Fast-Https 配置 IP 黑名单
黑名单配置位于 http 节点下的 blaklist 数组(字段名以程序实际实现为准):
{
"log_root": "./logs",
"pid": "./fast-https.pid",
"http": {
"include": "mime.types",
"blaklist": [
"192.168.11.1-192.168.11.150",
"192.168.1.151,59.66.66.66",
"192.168.1.151"
],
"server": [
{
"listen": 7000,
"server_name": "localhost",
"location": [
{
"url": "/api1",
"type": "rewrite",
"rewrite": "http://xxxx.com"
}
]
}
]
}
}
blaklist 表示启用 IP 黑名单,支持三种写法:
| 形式 | 示例 | 含义 |
|---|---|---|
| IP 段 | "192.168.11.1-192.168.11.150" | 屏蔽区间内的所有地址 |
| 多个 IP | "192.168.1.151,59.66.66.66" | 逗号分隔,一次屏蔽多个地址 |
| 单个 IP | "192.168.1.151" | 屏蔽该地址 |
3 黑名单 IP 访问测试
保存配置并 RELOAD 后,用黑名单中的 IP 访问 Web 服务器,会得到如下提示:
403 BLACK BAN
返回 403 BLACK BAN 说明该 IP 已被拒绝访问。
排查问题时先确认自己的出口 IP 不在黑名单内,否则会出现「保存后连自己都访问不了」的情况。