鉴权失败问题
在私有化部署过程中遇到的鉴权相关问题,可以查看此文档进行解决。
若文档仍未解决您的问题,请提交工单联系百度的工作人员
一、如何判定鉴权失败
1)应用的日志显示authentication failed
2)一般容器一启动就退出,可通过docker logs 容器id 来查看容器日志,提示authentication failed字样
二、快速排查
查看/home/baidu/work/c-offline-security-server/log下的authserver.log和aipe_info日期.log。
鉴权日志 | 含义 | 解决办法 |
---|---|---|
verify finger is invalid | license里的指纹错误 | 请确认运行鉴权服务的服务器是否有变化, 如硬盘、网卡等,如有变化, 请重新提取指纹、申请授权 |
verify product has not foud | 产品未授权 | 此服务器未获得授权,无法运行人脸模型 请重新提取指纹、申请授权 |
verify product lc is expired | 产品授权过期 | 请重新提取指纹、申请授权 |
instance_check reg fail,r_list full | 实例池已满 运行模型的服务器数量 (或实例数量)超出授权上限 |
请减少运行模型的服务器数量、 或实例数量 |
Environment is unsafe | 运行环境不安全 |
三、常用检查项
1.检查鉴权服务进程是否存在
ps -ef|grep auth_server。服务正常启动后如下图所示:
2.检查鉴权服务端口是否启动
netstat -apn|grep 8443。服务正常启动后如下图所示:
3.查看鉴权启动日志
从/home/baidu/work/c-offline-security-server/log/auth_server.log查看鉴权服务启动日志。
1)启动成功的日志如下图所示:
2)启动时常见的报错提示如下:
如下表示license文件不对,可能的原因是license的版本不对或者人为修改了license。
4.查看鉴权请求日志
从/home/baidu/work/c-offline-security-server/log/aipeinfo日期.log查看鉴权日志。根据应用里鉴权失败的时间或者根据产品名查找日志。
1)鉴权成功日志如下:
或者
2)鉴权常见失败日志如下:
若鉴权服务器IP地址与实际IP地址不一致,请参考以下方案进行修改: 输入以下命令,查看鉴权服务中的鉴权IP地址:
cat /home/baidu/work/c-offline-security-server/conf/server.conf
(1)若填写IP地址与实际IP地址不相符,则修改为实际IP地址(不能填写127.0.0.1)并重启鉴权服务
停止服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-stop.sh
启动服务:
cd /home/baidu/work/c-offline-security-server/ && nohup bash start/c-offline-security-server-start.sh &
重启容器
(2)若填写IP为实际本机IP,则继续排查
5、若鉴权服务中的IP地址填写正确,则进入下面的路径查看人脸应用服务的鉴权IP地址是否填写正确
cat /home/baidu/work/face-server/project-conf/easypack_init.sh
![10e6a1ac52ce944af550a1ab72ecbd49](/Users/chaixue 1/Library/Caches/BaiduMacHi/Share/images/10e6a1ac52ce944af550a1ab72ecbd49.png)
(1)若填写IP地址与实际IP地址不相符,则修改为实际IP地址(不能填写127.0.0.1)并重构容器
重构容器命令:
cd /home/baidu/work/face-server/project-conf/ &&bash multi_docker_start.sh
(2)若经过上述排查后,仍有问题,请提交工单联系百度工作人员进行解决
5.怎么重启鉴权服务
停止服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-stop.sh
启动服务:
cd /home/baidu/work/c-offline-security-server/ && nohup bash start/c-offline-security-server-start.sh &
四、222915错误码排查鉴权问题
(1)可能是由于防火墙的问题,容器内无法进行访问数据库服务
排查方法:在容器中执行 curl 服务器IP:端口号
- 若出现curl: (7) Failed connect to 10.233.42.40:8443; Connection refused,则说明防火墙限制了5535端口,需要用户关掉防火墙,或者单独将8443端口放开
- 若出现下图所示内容,则说明容器能访问数据库服务,继续进行排查
(2)也可能是指纹文件发生变化,导致鉴权失败
排查方法:确认是否运行鉴权服务的物理机发生变化,如硬盘、网卡等
- 若发生变化,重新提取指纹,申请授权
- 如没有发生变化,则继续排查问题
(3)检查鉴权服务是否启动
排查方法:输入以下命令查看服务是否返回以下信息:
netstat -anp |grep 8443
- 如果启动失败则不返回任何结果,需要重新启动鉴权服务,输入以下命令进行重新启动
cd /home/baidu/work/c-offline-security-server/ && nohup bash start/c-offline-security-server-start.sh &
- 如果启动成功返回以下信息,继续进行问题排查
(4)检查是否超出feature-frame最大并发时,也会返回222915错误
解决方案:用户根据自己的业务需求判断业务并发数是否超过最大并发支持
- 若超过,需要用户增加实例,减少运行模型的服务器数量、或实例数量
- 若没有超过,则继续进行问题排查
(5)检查是否产品授权过期
解决方案:如果您购买的是测试版的授权服务,请您到百度云控制台检查您的服务有效期
- 若已到期,可以申请延长试用期或申请正式版服务,正式版永久有效
- 若服务未到期,请提交工单联系百度工作人员进行解决