eJabberd管理面板不显示主机、注册及在线用户问题咨询
eJabberd API正常但管理后台无数据的排查方案
出现该问题的常见原因和对应解决方法如下:
- 管理后台登录账号权限不足
eJabberd Web管理后台的权限校验逻辑独立于通用API权限,即使调用API的账号有权限,登录后台的账号未加入ACL管理员列表也无法查看数据。如果是多虚拟主机(vhost)场景,需确认当前登录账号已被设置为所有需要查看的vhost的全局管理员,配置示例如下:
配置中末尾的acl: admin: user: - "admin@yourdomain.com": "*""*"代表该账号拥有所有vhost的管理权限。 - Web管理模块配置异常
需确认ejabberd配置文件的listen段,已经为web访问端口正确挂载ejabberd_web_admin模块,示例配置如下:
若配置中遗漏listen: - port: 5280 ip: "0.0.0.0" module: ejabberd_http request_handlers: /admin: ejabberd_web_admin /api: ejabberd_http_api/admin对应的handler,就会出现后台页面能打开但无法拉取数据的情况。 - 反向代理配置错误
如果通过反向代理访问eJabberd管理后台,需确认代理配置正确传递了Authorization认证头、Host请求头,没有截断后台的异步请求参数。 - 版本兼容性问题
23.x及之后的eJabberd版本调整了管理后台的权限校验逻辑,如果配置文件是从旧版本迁移而来未更新规则,也会出现该问题,可对照官方对应版本的配置示例更新ACL和模块配置后重启服务测试。
内容的提问来源于stack exchange,提问作者Milan Gadoya
相关产品推荐
相关产品推荐

