9180 是什么
9180 是 Apache APISIX 的 Admin API 端口,用来动态增删路由、上游服务与插件配置。APISIX 的数据面(真正转发业务流量)走 9080 与 9443,管理面单独放在 9180:这是它与其他网关的一个显著区别,也是配置事故的高发点——把管理面改到 0.0.0.0 却没换掉默认 admin_key,等于把全站流量规则的改写权限交了出去。
基本信息
| 服务 | Apache APISIX Admin API |
|---|---|
| 端口/协议 | 9180,HTTP;默认仅监听 127.0.0.1 |
| 数据面端口 | 9080 HTTP / 9443 HTTPS |
| 鉴权 | 请求头 X-API-KEY,部署时必须替换默认值 |
| 安全等级 | 严禁公网,仅本机或跳板机访问 |
典型使用场景
- 灰度发布:新增上游与路由,把流量按权重导到新版本
- 插件配置:按路由启用限流、认证、日志与熔断插件
- 故障处置:摘除故障上游、临时下线某条路由
- 变更审计:导出当前路由与上游配置,与期望状态比对
- 安全核查:确认 9180 监听地址与 admin_key 是否被改过
查询与核查
查询与核查
curl -s http://127.0.0.1:9180/apisix/admin/routes -H 'X-API-KEY: <KEY>' -o routes.json # 导出路由
curl -s http://127.0.0.1:9180/apisix/admin/upstreams -H 'X-API-KEY: <KEY>' | head -c 300
ss -lntp | grep -E ':(9180|9080|9443) ' # 核对管理面与数据面监听地址
grep -rn -A2 'admin_key' /usr/local/apisix/conf/config.yaml 2>/dev/null | head -20 # 核对关键配置端口分工
| 端口 | 角色 | 加固要点 |
|---|---|---|
| 9180 | Admin API 管理面 | 仅 127.0.0.1 或跳板机可达,替换默认 key |
| 9080 | 数据面 HTTP | 面向业务,做限流与访问控制 |
| 9443 | 数据面 HTTPS | 证书与 TLS 策略按业务要求配置 |
| — | admin_key | 出现在配置文件与请求头中,需按凭据管理 |
给 9180 做远程管理时,正确路径是 SSH 隧道或带客户端证书的双向 TLS 反代;直接把监听地址改成 0.0.0.0 再配一个弱 key,是被反复验证过的高危配置。
变更前先导出当前 routes 与 upstreams:网关配置一旦改错,影响的是全部业务入口,有一份可回滚的导出文件比事后对着日志猜要快得多。
如果 APISIX 部署在 Kubernetes 里,路由可能由 Ingress 控制器或 CRD 自动生成,此时直接改 Admin API 会被下一次同步覆盖。排查「配置莫名回退」时,先确认配置来源是控制面自动生成还是人工维护,再决定改哪一层。