资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

鉴权服务排查

机器指纹方式(软件)鉴权

该文档用于帮助您快速定位鉴权服务异常原因。

前面部署章节有提到私有化应用健康检查(或故障排查)脚本:trouble_shooting.tar,该工具会自动检查鉴权服务是否正常。

点击展开 》如何手动检查鉴权服务进程、端口号以及相关日志?

1、检查鉴权服务进程是否存在

ps -ef|grep auth_server

服务正常启动后如下图所示:

root      3126  3118  0 10月13 ?      00:00:10 /home/baidu/work/c-offline-security-server/auth_server
root      3129  3126  3 10月13 ?      00:45:20 /home/baidu/work/c-offline-security-server/auth_server
root     15042 12347  0 11:33 pts/0    00:00:00 grep --color=auto auth_server

2、检查鉴权服务端口是否监听

netstat -apn|grep -E '8443|7091|7092'

端口正常监听的话返回如下

tcp        0      0 0.0.0.0:7091            0.0.0.0:*               LISTEN      3129/auth_server
tcp        0      0 0.0.0.0:7092            0.0.0.0:*               LISTEN      3129/auth_server
tcp        0      0 0.0.0.0:8443            0.0.0.0:*               LISTEN      3129/auth_server

3、检查鉴权启动和鉴权请求日志

1)检查是否有报错信息,报错含义及解决办法请见下面表格介绍。

cat /home/baidu/work/c-offline-security-server/log/auth_server.log |grep -Ei 'warning|error' |grep -v 'gethostbyname_r'|grep -v '8877'
cat /home/baidu/work/c-offline-security-server/log/aipe_info_$(date +%Y-%m-%d).log|grep -i 'error'

2)检查离线鉴权服务c-offline-security-server是否启动成功

从/home/baidu/work/c-offline-security-server/log/auth_server.log查看鉴权服务启动日志

启动成功日志如下:

鉴权成功.png

从/home/baidu/work/c-offline-security-server/log/aipeinfo当天日期.log查看算子应用程序向鉴权服务发起请求的日志

启动成功日志如下:

启动成功1.png

启动成功2.png

1) c-offline-security-server 应用常见鉴权报错日志和其对应含义如下:

鉴权报错日志 含义 解决办法
verify finger is invalid license里的指纹错误 请确认运行鉴权服务的服务器是否有变化, 如硬盘、网卡等,如有变化, 请重新提取指纹、申请授权
verify product has not foud 产品未授权 此服务器未获得授权,无法运行OCR模型 请重新提取指纹、申请授权
verify product lc is expired 产品授权过期 请重新提取指纹、申请授权
instance_check reg fail,r_list full 实例池已满 运行模型的服务器数量 (或实例数量)超出授权上限 请减少运行模型的服务器数量、 或实例数量
Environment is unsafe 运行环境不安全,可能是license的版本不对或者人为修改了license。
cache client get context error: Connection refused 鉴权服务连接本机缓存失败,可能原因:7091和7092缓存端口没有启动,或者部署时填写的鉴权节点IP有误

2)OCR算子容器日志错误码解读

通过执行docker logs -f 容器名或容器ID 或 根据私有化应用健康检查(或故障排查)脚本:trouble_shooting.tar 输出的容器日志结果发现有类似如下报错内容:

aipe auth failed, ret = 501

aipe auth failed, ret = 504

相关错误码解读如下:

错误码 含义 备注
0 鉴权成功
1 curl初始化报错curl不支持的协议。离线鉴权通过https做了双向认证,如果鉴权server不是https,会报这个错 更多<100的可能未列出的错误码请直接参考:https://curl.haxx.se/libcurl/c/libcurl-errors.html
7 无法连接到鉴权服务器,一般是网络不通或者鉴权服务没起来(8443端口没开)
28 请求鉴权服务超时。目前设置的connect timeout为1s,socket timeout为3s
35 ssl双向认证失败。离线鉴权通过https做了双向认证,如果客户端/服务端证书不对,会报这个错
501 鉴权失败,实例数超过上限
502 鉴权失败,老版本状态码未拆分,产品未授权或指纹错误时触发,SDK三位版本1-0-12后,产品未授权错误码为508,指纹错误为509
503 鉴权失败,产品授权过期了
504 鉴权失败,申请的license中开启了qps控制,但是运行时却未开启异步鉴权 需要将容器启动脚本start-1.sh 中 EASYPACK_ENABLE_ASYNC_AUTH环境变量值设置为1
505 鉴权失败,qps超限
506 鉴权失败,异步鉴权模式下,异步鉴权的线程挂掉了
507 鉴权失败,异步鉴权模式下,缓存的鉴权结果太长时间(10min)没有刷新。比如鉴权线程被挂起了,导致无法更新鉴权结果。
508 鉴权失败,产品未授权
509 鉴权失败,机器指纹有误
2012 鉴权失败,鉴权服务器全部不可用。(AIPE_SECURITY_SERVER_HOST如果配置了多个ip,会自动开启到多个鉴权服务的探活,如果探活全部失败了,则报这个错)
-1 未知错误

加密狗方式(硬件)鉴权

如果使用了加密狗硬件辅助鉴权,除了按照上文【机器指纹方式(软件)鉴权】提到的排查思路依次进行排查以外, 需要额外检查以下内容

如以下指令无法执行,请参照部署文档执行 bash download.sh命令,该脚本会自动下载加密狗相关驱动文件,之后按照部署文档一键安装或单独安装即可。

1)加密狗驱动是否运行

service codemeter status

正常情况下返回 CodeMeter Server is running.

2)加密狗硬件是否被机器识别

cmu -x

识别成功的结果如下

cmu - CodeMeter Universal Support Tool.
Version 6.70 of 2018-Jul-19 (Build 3152) for Linux
Copyright (C) 2007-2018 by WIBU-SYSTEMS AG. All rights reserved.
List all locally connected CmContainers:
- CmContainer with Serial Number 3-4512221 and version 4.10
...
Result: 1 CmContainer(s) listed.

识别失败的结果如下:

cmu - CodeMeter Universal Support Tool.Version 6.70 of 2018-Jul-19 (Build 3152) for LinuxCopyright (C) 2007-2018 by WIBU-SYSTEMS AG. All rights reserved.List all locally connected CmContainers:Result: 0 CmContainer(s) listed.

查看license信息

curl 0.0.0.0:8443/security/license

返回示例如下

{"dogCount":0,"fingerType":3,"holder":"15322","info":"license","issued":"2021-10-12 16:27:36","issuer":"baidu","productLicenses":[{"functions":[],"instanceSize":1,"notAfter":"2021-11-26 00:00:00","notBefore":"2021-10-11 00:00:00","qps":0,"subject":"general_nor"}],"safeType":1,"securityType":2}

license有效期为 notBefore ~ notAfter

上一篇
安装部署问题排查
下一篇
视频专区