avatar

Ryan's Blog

The first step is always the hardest.

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于
  • 工具
Home APISIX Dashboard 使用指南:路由、服务、上游与插件配置实践
文章

APISIX Dashboard 使用指南:路由、服务、上游与插件配置实践

Posted 2023-04-7 Updated 13 days ago
By Ryan Chen
19~24 min read

APISIX Dashboard 是 APISIX 的可视化管理界面,可以通过页面方式管理 Route、Service、Upstream、Consumer、SSL 证书和插件配置。对于学习 APISIX 或进行日常运维,Dashboard 能降低上手成本。

不过需要先说明:APISIX 的核心配置入口始终是 Admin API,Dashboard 本质上是对 Admin API 的可视化封装。新版本部署和生产选型时,应以 APISIX 官方文档对 Dashboard 的说明为准;如果团队已经具备自动化能力,也可以优先使用 Admin API、APISIX Ingress Controller 或声明式配置工具来管理配置。

如果还不了解 APISIX 的基础概念,可以先看:APISIX 入门指南:核心概念、Docker 部署与基础路由配置。

Dashboard 能做什么

常见能力包括:

  • 管理路由 Route。
  • 管理服务 Service。
  • 管理上游 Upstream。
  • 配置插件 Plugin。
  • 管理 Consumer。
  • 配置证书 SSL。
  • 查看部分运行状态和基础信息。

Dashboard 适合:

  • 学习和演示 APISIX。
  • 中小规模网关配置管理。
  • 运维人员快速查看路由和插件配置。
  • 对 Admin API 不熟悉时做可视化操作。

但生产环境仍建议:

  • 配置变更纳入审批和审计。
  • 关键配置通过 Git 管理。
  • 避免多人直接在页面上无记录修改。
  • Dashboard 只开放给可信内网和授权人员。

部署前准备

Dashboard 需要连接 APISIX 使用的 etcd,因此配置时要确保:

  • Dashboard 能访问 etcd 地址。
  • etcd 地址与 APISIX 网关使用的是同一套配置中心。
  • 如果 etcd 开启认证,需要配置用户名和密码。
  • 如果 etcd 开启 mTLS,需要配置证书。

典型配置关注点:

conf:
  listen:
    host: 0.0.0.0
    port: 9000

  allow_list:
    - 127.0.0.1
    - 10.0.0.0/8

  etcd:
    endpoints:
      - 10.0.0.11:2379
      - 10.0.0.12:2379
      - 10.0.0.13:2379
    # username: "root"
    # password: "password"

安全建议:

  • 不要把 Dashboard 暴露到公网。
  • 不要使用弱密码。
  • 配置 allow_list 限制访问来源。
  • 结合反向代理、HTTPS、统一认证或 VPN 使用。

安装方式

Dashboard 常见安装方式包括:

  • Docker。
  • RPM / 二进制包。
  • Kubernetes / Helm。

实际部署方式应以当前官方文档和项目版本为准。下面给出通用思路。

Docker 部署思路

准备配置文件 conf.yaml 后挂载到容器中:

docker run -d \
  --name apisix-dashboard \
  -p 9000:9000 \
  -v $(pwd)/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml \
  apache/apisix-dashboard:latest

生产环境不建议直接使用 latest,应固定版本号并记录变更。

RPM / 二进制部署思路

安装后通常需要:

  1. 修改 Dashboard 配置文件。
  2. 配置 etcd endpoints。
  3. 配置访问控制和账号。
  4. 启动 Dashboard 服务。
  5. 通过浏览器访问管理界面。

访问 Dashboard

默认访问地址通常类似:

http://<dashboard-host>:9000

如果无法访问,优先检查:

  • Dashboard 进程是否启动。
  • 9000 端口是否监听。
  • 防火墙或安全组是否放行。
  • allow_list 是否允许当前客户端 IP。
  • Dashboard 日志中是否存在 etcd 连接失败。

路由配置

Route 是 APISIX 的请求匹配规则。在 Dashboard 中配置路由时,通常需要关注:

  • 路由名称。
  • URI,例如 /api/users/*。
  • Host,例如 api.example.com。
  • 请求方法,例如 GET、POST。
  • 上游服务或 Upstream。
  • 插件配置。

建议命名规范:

业务域-服务名-接口类型

例如:

mall-user-query
mall-order-create

这样在路由数量增多后更容易检索和维护。

上游配置

Upstream 用于管理后端节点和负载均衡策略。

常见字段:

字段 说明
nodes 后端节点列表和权重
type 负载均衡算法,如 roundrobin
timeout 连接、发送、读取超时
retries 重试次数
checks 健康检查配置

示例:

{
  "type": "roundrobin",
  "nodes": {
    "10.0.0.11:8080": 1,
    "10.0.0.12:8080": 1
  },
  "timeout": {
    "connect": 3,
    "send": 3,
    "read": 5
  }
}

生产建议:

  • 为关键服务配置合理超时。
  • 根据服务能力设置权重。
  • 对核心服务启用健康检查。
  • 避免把测试节点混入生产 Upstream。

服务配置

Service 用于复用公共配置。多个 Route 可以引用同一个 Service。

适合放在 Service 层的配置:

  • 公共 Upstream。
  • 公共认证插件。
  • 公共限流策略。
  • 公共日志插件。

使用 Service 的好处是减少重复配置。例如同一个用户服务有多个 API 路由,就可以让它们引用同一个 user-service。

插件配置

APISIX 的插件非常丰富,Dashboard 中通常会按类别展示。

流量控制类

常见插件:

  • limit-count:固定时间窗口请求数限制。
  • limit-req:请求速率限制。
  • limit-conn:并发连接数限制。

适用场景:

  • 防止下游被突发流量打垮。
  • 对不同租户或调用方做访问控制。
  • 对高成本接口做保护。

安全防护类

常见插件:

  • key-auth。
  • jwt-auth。
  • basic-auth。
  • ip-restriction。
  • cors。

建议:

  • 对公网 API 必须配置认证鉴权。
  • 对管理类接口增加 IP 白名单。
  • CORS 不要无脑配置 *,要结合业务域名控制。

可观测性和日志类

常见插件:

  • prometheus。
  • http-logger。
  • kafka-logger。
  • skywalking-logger。
  • zipkin / tracing 相关能力。

日志采集可以参考:APISIX kafka-logger 日志采集实践:写入 Kafka 并接入 Elasticsearch / Kibana。

流量治理类

常见插件:

  • proxy-mirror:流量镜像。
  • traffic-split:流量切分。
  • mocking:模拟响应。
  • fault-injection:故障注入。

Mock 和流量镜像可以参考:

  • APISIX Mocking 插件实践:接口 Mock、临时降级与兜底响应
  • APISIX proxy-mirror 流量镜像实践:灰度验证、监控分析与注意事项

证书配置

如果需要 HTTPS,可以在 Dashboard 中配置 SSL 证书。

注意事项:

  • 证书和私钥需要匹配。
  • SNI 要与访问域名一致。
  • 证书过期前要提前续期。
  • 私钥不要泄露到代码仓库或截图中。

配置变更建议

Dashboard 操作虽然方便,但生产环境要避免“点页面直接改生产”的不可追踪问题。

建议流程:

  1. 测试环境验证配置。
  2. 记录配置变更内容。
  3. 评估影响范围和回滚方案。
  4. 在低峰期发布。
  5. 观察网关日志、错误率和下游指标。
  6. 变更后沉淀为文档或配置文件。

常见问题

1. Dashboard 无法连接 etcd

检查:

  • etcd endpoints 是否正确。
  • Dashboard 容器网络是否能访问 etcd。
  • etcd 是否开启认证。
  • 证书配置是否正确。

2. Dashboard 上创建路由后不生效

检查:

  • Dashboard 连接的 etcd 是否与 APISIX 使用的 etcd 一致。
  • APISIX 是否正常监听网关端口。
  • Route 匹配条件是否正确。
  • 是否存在更高优先级路由抢先匹配。

3. 插件配置后请求异常

检查:

  • 插件 JSON Schema 是否符合要求。
  • 插件是否绑定在正确层级。
  • 插件执行顺序是否影响请求。
  • APISIX 日志中是否有 schema 校验错误。

总结

APISIX Dashboard 的价值在于降低网关配置门槛,但它不应该替代配置治理。生产环境更重要的是:

  • 明确 Route、Service、Upstream、Plugin 的职责边界。
  • 控制 Dashboard 访问权限。
  • 对配置变更做审计和回滚。
  • 与 Admin API、Ingress Controller 或声明式配置工具配合使用。

参考资料

  • Apache APISIX Dashboard 官方文档
  • Apache APISIX Admin API
  • Apache APISIX Plugins
指南
APISIX APISIX Dashboard API网关 API管理 路由配置 插件
License:  CC BY 4.0
Share

Further Reading

Jun 27, 2026

Agent 架构设计原则:Router、Runtime 与 Business Script 的职责划分

本文整理一套适合 Router Agent + Skill + Runtime 架构的设计原则:Agent 只负责业务决策,Runtime 统一负责执行、恢复、Trace、Checkpoint 和 Evidence,Business Script 只做确定性业务执行。

Sep 9, 2024

Redis 核心概念、数据结构与高可用架构详解

系统梳理 Redis 的核心数据类型、底层结构、过期与淘汰、持久化、事务、主从复制、Sentinel、Cluster、缓存一致性和分布式锁等机制,适合作为 Redis 学习、面试复习和高可用架构设计参考。

Sep 5, 2024

B+树原理与 MySQL InnoDB 索引机制解析

本文从 B+ 树的多叉平衡结构、叶子节点链表、范围查询和磁盘 I/O 特性出发,解释数据库索引为什么常采用 B+ 树,并结合 MySQL InnoDB 的聚簇索引、二级索引、回表、覆盖索引和联合索引机制理解其实际应用。

OLDER

Spring Boot 单元测试最佳实践:JUnit 5、Mockito、MockMvc 与测试切片

NEWER

APISIX Mocking 插件实践:接口 Mock、临时降级与兜底响应

Recently Updated

  • Agent 架构设计原则:Router、Runtime 与 Business Script 的职责划分
  • RocketMQ 架构设计与应用最佳实践:高可用消息队列核心解析
  • Redis 核心概念、数据结构与高可用架构详解
  • B+树原理与 MySQL InnoDB 索引机制解析
  • MySQL AUTO_INCREMENT 插入 0 变成自增值的原因与解决方案

Trending Tags

RocketMQ Windows Feign Docker Zipkin SonarQube OkHttp HttpClient API 性能优化

Contents

©2026 Ryan's Blog. Some rights reserved. · 粤ICP备2022031588号