开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

鉴权服务排查

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

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

前面部署章节有提到私有化应用健康检查(或故障排查)脚本: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

上一篇
安装部署问题排查