APISIX、etcd、Dashboard本地Docker Compose部署登录失败排查
排查APISIX Dashboard登录错误(Code:10000)的步骤
1. 核对配置一致性
- 检查Dashboard配置文件中
apisix.base_url是否指向正确的APISIX容器地址,Docker环境下通常为http://apisix:9080(容器间通过服务名通信)。 - 确认Dashboard的
auth.credentials与APISIX的admin_key配置匹配:- APISIX的
config.yaml中admin_key示例:admin_key: - name: "admin" key: edd1c9f034335f136f87ad84b625c8f1 role: admin - Dashboard的
conf.yaml需对应配置:auth: credentials: - username: admin password: admin
apisix.api_key为APISIX的admin key值。 - APISIX的
2. 验证容器网络连通性
进入Dashboard容器,测试与APISIX的连通性:
docker exec -it <dashboard容器名> curl http://apisix:9080/apisix/admin/migrate/version -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1"
若返回正常版本信息,说明网络和APISIX密钥配置无问题;若不通,检查Docker Compose网络配置,确保三个容器处于同一网络。
3. 提取完整日志信息
- 查看Dashboard完整日志:
若默认日志级别无详细信息,可修改Dashboard配置文件docker logs -f <dashboard容器名>log.level为debug后重启容器,获取请求细节。 - 查看APISIX日志,排查是否有认证失败的请求记录:
重点检查docker logs -f <apisix容器名>error.log和access.log。
4. 检查etcd配置同步情况
进入etcd容器,验证admin key是否已正确写入:
docker exec -it <etcd容器名> etcdctl get /apisix/admin_key --prefix
若无数据返回,说明APISIX初始化时未正确写入配置,需检查config.yaml挂载是否正确,或重启APISIX容器。
5. 确认版本兼容性
确保APISIX、Dashboard、etcd版本兼容,例如APISIX 3.x需搭配Dashboard 3.x,版本不匹配会导致认证逻辑冲突。
内容的提问来源于stack exchange,提问作者robbit
相关产品推荐
相关产品推荐

