CouchDB 与 5984 端口
5984 是 Apache CouchDB 的默认 HTTP 端口。CouchDB 把一切能力都暴露为 RESTful API:数据库与文档的增删改查、视图查询、集群状态,以及 Fauxton 管理界面,全部走 5984 的 HTTP 接口。文档以 JSON 存储,复制通过 HTTP 拉取变更日志,因此 5984 往往同时承担业务访问与管理入口两个角色。
基本信息
| 服务 | Apache CouchDB HTTP API 与 Fauxton 控制台 |
|---|---|
| 端口/协议 | TCP HTTP 5984(HTTPS 常映射 6984) |
| 集群相关 | 节点互联端口基于 5984 加减偏移 |
| 认证方式 | 默认 Basic Auth,须显式创建管理员 |
| 权限要求 | 管理员账号由安装时创建;业务用户按库授权 |
| 安全等级 | 仅应用网段,必须开启认证,禁止公网裸奔 |
典型使用场景
- 文档型数据库后端:内容管理、后台服务的 JSON 文档存储
- 离线优先应用的数据同步端点,PouchDB 与 CouchDB 之间做复制
- 跨机房双向复制,用复制接口建立主主同步
- 运维巡检:查看健康状态、集群成员与运行中的任务
- 用 Fauxton 网页界面做数据排查,需限制访问来源
接口速查与加固
接口速查与加固
curl -s http://127.0.0.1:5984/ | python -m json.tool # 返回版本信息,无认证通常 401
curl -s http://admin:pass@127.0.0.1:5984/_all_dbs # 列出所有数据库
curl -s http://admin:pass@127.0.0.1:5984/_up # 健康检查,返回 ok 表示节点正常
curl -s http://admin:pass@127.0.0.1:5984/_membership # 集群成员与节点角色
# 加固:bind_address 设为 127.0.0.1 或内网地址,对外经反向代理加 HTTPS
# 管理员口令在 local.ini 的 [admins] 段,改完需重启或触发配置重载关键接口读法
| 路径 | 含义 | 关注点 |
|---|---|---|
| / | 欢迎信息与版本号 | 暴露版本即暴露漏洞线索,应限制访问 |
| /_up | 节点健康状态 | 返回 ok 即正常,否则查日志 |
| /_all_dbs | 数据库清单 | 未认证可读等于数据目录外泄 |
| /_active_tasks | 正在执行的任务 | 复制或索引卡住时看这里 |
| /_utils | Fauxton 管理界面 | 应限制来源或直接关闭 |
CouchDB 1.x 时代默认没有管理员(admin party),任何能连 5984 的人都能建库删库;现代版本安装向导强制创建管理员,但老容器镜像与遗留部署里仍能见到无认证实例。
互联网上长期存在大量无认证的 5984 实例被批量清库勒索。公网出现 5984 监听应立即收敛或补认证,并核查数据是否已被删除。