You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zabbix 6.0.20配置AWS ALB+Cognito HTTP认证后登录报错求助

排查Zabbix 6.0.20 + ALB+Cognito HTTP认证登录报错问题

1. 验证ALB到EC2的认证信息传递

  • 查看Nginx日志文件:/var/log/nginx/access.log和/var/log/nginx/error.log,确认ALB是否将Cognito生成的用户标识(如X-Amzn-Oidc-Claim-Email头部或REMOTE_USER变量)正确传递给后端Zabbix服务。
  • 核对/etc/nginx/conf.d/zabbix.conf中的FastCGI参数配置,确保已正确映射认证字段,示例配置:
    fastcgi_param REMOTE_USER $http_x_amzn_oidc_claim_email;
    

2. 检查Zabbix认证逻辑代码

  • 确认/usr/share/zabbix/index_http.php和include/oidc.inc.php中,从请求头部提取的用户信息(比如邮箱)与Zabbix users表的username字段完全匹配,避免大小写或格式差异导致的用户匹配失败。
  • 查看Zabbix服务器日志/var/log/zabbix/zabbix_server.log,搜索包含authentication、login关键字的错误条目,定位具体失败原因(如用户不存在、权限缺失)。

3. 核对Zabbix GUI的HTTP认证配置

  • 进入Zabbix GUI的【Administration】→【Authentication】页面,确认认证方法已设置为HTTP,且Enable HTTP authentication选项已勾选。
  • 检查Default user group配置,确保通过Cognito认证的用户会被分配到具备GUI访问权限的用户组(如Zabbix Admin)。

4. 验证数据库中用户状态与权限

  • 登录MySQL数据库,查询Zabbix的users表,确认自动创建的用户status字段值为0(启用状态),且usrgrpid关联的用户组拥有正确的权限:
    select username, status, usrgrpid from users where username = 'your-cognito-user-email';
    
  • 确认关联的用户组(通过usrgrp表查询)具备access to frontend权限。

5. 排查会话与Cookie问题

  • 打开浏览器开发者工具(F12),查看登录后的跳转请求,检查响应头中是否包含Zabbix的会话Cookie(如zbx_sessionid)。
  • 核对Nginx配置中是否允许Cookie传递,FastCGI配置需包含:
    fastcgi_param HTTP_COOKIE $http_cookie;
    

内容的提问来源于stack exchange,提问作者Marco Ferrara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 12:35:07