网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
本文导读

展开导读

常见问题

更新时间:2024-10-21 GMT+08:00
分享
  • Domain not registered或Service not registered

    领域或微服务没有进行注册,请根据STS 2.0业务接入指南的指导自行注册领域或微服务。

  • connect timed out或read timed out

    它有两种原因,connect timed out或read timed out:

    可以在sts.properties中添加超时配置,单位为毫秒:

    sts.connect.timeout=10000 //遇到 connect timed outsts.socket.timeout=10000 //遇到 read timed out
  • Encrypt Permission Denied

    这是因为管理台上注册微服务时,默认将微服务注册成了NORMAL。只有角色为PLATFORM的微服务才有权限调用加密接口。

  • fail to init session key

    fail to init session key

    fail to get master key from sts

    这是因为集成了STS 1.0,也就是集成了sts-cse-sdk,从STS 1.0的服务器获取master key失败。因为STS 1.0的服务器需要业务自己去搭建,在没有搭建的情况下,当然会获取失败。

    如果已经搭建,检查业务的yaml文件中配置的environment参数和STS 1.0微服务中的environment是否一致,如果不一致则修改成一致。

  • mac check in GCM failed

    这个错误的原因就是密钥和密文不匹配导致无法解密。需要确认业务配置文件中的密文是从哪里来的?

    1. 通过IaC由配置中心下发:

      检查IaC代码中配置的敏感配置项ID中的服务或微服务名是否属于该运行的微服务。

      • 服务级:Service/{ServiceName}/{SensitiveName}/{tag}
      • 微服务级:MicroService/{ServiceName}/{MicroServiceName}/{SensitiveName}/{tag}
    2. 通过StsAgent加密后,手工配置:

      检查加密的时候使用的服务级别servicekek还是微服务级别kek,和密文中的级别是否一致,服务名和微服务名是否和该运行的微服务一致?加密得到密文的STS环境和运行的STS环境是否一致?例如测试环境加密的密文是不能在生产环境解密。

      # 使用微服务kek加密
      # /opt/huawei/apps/wisesecurity/stsagent/stsagent encrypt -s ServiceName -m MicroServiceName -x -h 10.33.102.162:8080
      # 使用服务servicekek加密
      # /opt/huawei/apps/wisesecurity/stsagent/stsagent encrypt -s ServiceName -m MicroServiceName -ts ServiceName -x -h 10.33.102.162:8080
    3. 中间件的口令解密
      • 业务集成了Cloud Map对接中间件,业务不用关心口令解密的问题。
      • 业务使用sts agent加密明文口令后配置到相应管理台。参考2,看加密用的密钥和代码中解密的密钥是否对应(服务级还是微服务级kek),以及加密时使用的微服务名和服务名是否一致。
    4. 不同微服务的证书不可混用,业务使用自己微服务的证书及配置文件进行SDK的初始化,解密自己微服务的配置。
  • Undefined provider local

    当创建AESCryptor时,如果不用@指定KeyProvider,那么它会默认调用local KeyProvider。在使用kek或servicekek时,要指定KeyProvider为@sts。

    //错误
    AESCryptor cryptor = new AESCryptor.Builder().withKey("kek").withAlg(CryptoAlg.AES_GCM).build();
    //正确
    AESCryptor cryptor = new AESCryptor.Builder().withKey("kek@sts").withAlg(CryptoAlg.AES_GCM).build();
  • 申请证书时Make sure haveged is running步骤或try active service步骤报错。

    这是因为机器上没有启动haveged服务。haveged是一个随机数的熵的提供方,它可以解决在某些情况下,系统熵过低的问题。

    规避办法:在部署步骤前面加上sudo步骤;或者,到机器上,手动执行service haveged start命令,启动haveged服务。

    解决方案:在申请证书步骤前添加sudo和shell-exec步骤,确保haveged服务为启动状态。

    sudo systemctl enable haveged.service && sudo systemctl start haveged.service非EulerOS可以使用sudo service haveged start命令。

  • service ini config file not exists

    这是因为STS在初始化时,找不到初始化配置文件(ini 文件)或者微服务名称.sts.p12证书文件不存在。该文件是在部署微服务过程中,通过stsagent申请证书时生成的,默认路径在/opt/huawei/certs/{serviceName}/{microServiceName},业务也可以通过相应参数来修改。

    解决办法:

    1. 首先确认配置的STS参数:
      • 通过配置文件配置的,查看sts/sts.properties 文件,检查sts.config.path配置的文件是否存在。
      • 通过NUWA配置文件,检查microservice.yaml文件中nuwa.security.sts.configPath配置的文件是否存在。

        nuwa:security:sts:serverDomain: 10.33.102.109:8080configPath: /opt/huawei/certs/{ServiceName}/{MicroServiceName}/{MicroServiceName}.ini

      • 通过Java Bean方式配置的,也就是通过类似以下代码初始化,检查sts.config.path配置的文件是否存在

        Properties properties = new Properties();properties.setProperty("sts.server.domain", "10.33.102.162:8080");properties.setProperty("sts.config.path", "D:/Test/ConsumerService/ConsumerMicroService1/ConsumerMicroService1.ini");StsKeyApi.initWith(properties);

      • 如果配置的是相对路径,则必须是相对于resource目录的路径。如果是在IDEA中运行使用,则检查target下是否有该文件,如果没有则重新compiler,IDEA最终是从target下获取resource文件。
    2. 另外,请确认部署过程中证书申请的步骤在业务安装和启动流程之前,如果业务先启动,之后才进行证书的申请,配置文件还未生成,也会出现找不到配置文件的问题。

      若不存在,则要参考STS 2.0业务接入指南申请证书。如果配置的文件路径不是stsagent生成的默认路径,则需要手工将** /opt/huawei/certs/{ServiceName}/{MicroServiceName}/**拷贝到相应的路径下。

  • Fail to derive key with master key

    这是因为STS没有初始化,就去调用了获取认证凭据的接口。

    解决办法:检查是否调用了StsKeyApi.init()或StsKeyApi.initWith(properties)。

  • 如何解密微服务证书的口令

    微服务证书的口令使用本地随机的根密钥和工作密钥加密,口令明文使用StsKeyStoreUtil.getKeyStoreValue()进行解密。

  • Access Permission Denied

    微服务集成STS SDK,获取相应微服务的Credentials时报如下错误Reqeust sts server fail, Request Token form xxxx&yyyy failed, Access Permission Denied。 这是由于provider没有该微服务配置相应的ACL(Access Control List),导致没有权限获取访问该provider的credentials。

  • Invalid api name

    STS Agent执行的时候报Invalid api name,这是由于 IaC 中使用了STS Agent高版本能力,但主机上STS Agent版本过低并且IaC中没有强制升级STS Agent导致的。通过IaC或手动更新STS Agent,使用1.1.5.100及之前的部署包时请打开force_install开关。

  • 微服务有测试,镜像,海外,灰度等不同的环境,STS管理台如何管理这些敏感配置项?

    STS管理台在不同站点是分开部署。同一站点下假如想区分不同的场景,例如生产和灰度,开发,测试和镜像,则可以使用敏感配置项标签区分。

  • STS管理台敏感配置项最大长度是多少?

    5000个字符。

  • 本地缓存的STS KEK,ServiceKEK以及认证凭据是如何保护?
    • key.json由本地随机生成的rootkey和workkey加密保护,kek.json由STS KEK保护。
    • 加密算法采用AES GCM。
  • 部署过程report certificate to cms报错,提示"An unknown error occurred when report certificates!"。

    首先检查/opt/huawei/certs/{service}/{microservice}下stscerttool.log中是否有错误信息。

    若日志中出现异常提示[Errno -2] Name or service not known,请使用以下命令确认系统版本是否为欧拉OS 2.9 [EulerOS release 2.0 (SP9)]:

    lsb_release -a
    1. 检查主机hostname是否超过64个字符,如果是的话,修改主机名。
    2. 主机存在无法解析出主机IP的问题,参考如下步骤检查:
      1. 检查/etc/nsswitch.conf中是否包含hosts项,且对应配置包含files或myhostname。
      2. 若添加配置files,检查/etc/hosts,添加当前主机的IP映射[host_ip] [hostname],例如:10.33.100.100 host-10-33-100-100。

        若添加配置myhostname,通常无需进行其他修改。

      3. 运行以下命令检查是否有其他异常。
        hostname -i
        python -c "import socket; print(socket.gethostbyname(socket.getfqdn(socket.gethostname())))"
  • 如何手工注册微服务

    使用IaC部署在WiseDBA上创建数据库实例,报没有注册STS的错误,如果业务还没有接入STS,可以在STS管理台进行手工注册该微服务。

  • 如何将服务器上生成的STS微服务证书信息迁移到window机器上调试。

    将服务器上/opt/huawei/certs/{serviceName}/{microServiceName}目录下的所有问题打包下载到本机。修改{microServiceName}.ini 文件中 a_file,b_file ,c_file,d_file 的路径,该路径支持绝对路径或相对路径(相对于ini文件的路径,一般为{microServiceName}/apple/a)。修改sts.properties中 sts.config.path为实际的ini文件的路径。

  • missed = in sensitive string value / missed value in sensitive string

    解密敏感配置项的时候报missed = in sensitive string value错误,这是由于敏感配置密文格式不正确。敏感配置项密文格式如下:

    • kek加密密文格式: ENC(key=kek, value=xxxx)
    • servicekek加密密文格式: ENC(key=servicekek, value=xxxx)
  • Unable to execute refresh credentials function

    微服务日志STS SDK抛出如下异常,这是由于对端开启了STS的微服务认证,MapConnectCoreService&MapConnectCoCreateService未给该微服务配置ACL。

    解决方案:让对端给该微服务配置ACL。

    com.huawei.wisesecurity.sts.sdk.exception.StsException: Unable to execute refresh credentials function for service.identity=MapConnectCoreService&MapConnectCoCreateService 
  • STS对JDK/JRE有什么要求?

    建议使用最新的1.8版本JDK/JRE。

  • invalid common name

    STS SDK抛出如下异常:

    InvocationException: code=403;msg=errorCode=1002;errorMessage=invalid common name: AppGalleryPromotionUserService

    这是由于CSE的yaml文件中配置的微服务名和使用的STS微服务证书中的微服务名不一致导致的,使用部署时采用STSAgent自动签发的证书,里面是标准的PBI服务名和微服务名。

  • STS管理台敏感配置修改后如何刷新到微服务的配置文件中?

    敏感配置项是通过配置服务发布到微服务配置文件中。在STS管理台修改后,需要在部署服务上重新发布修改的配置项。

    • 在配置中心找到该配置项
    • 重新发布该配置项:
  • fail to parser work key json file

    检查work_key.json格式是否正确,文件中的description,mac字段需要删除。

  • Odd number of characters

    业务加载工作密钥文件的时候报Odd number of characters异常,这是由于在STS管理台配置的hex编码的密钥明文的少或多了一个char。Hex编码字符串必须是偶数个字符。

  • fail to get master key from sts

    业务集成了STS 1.0的认证能力,需要从STS 1.0 Server上获取主密钥失败。STS 1.0 Server是部署在业务集群中,注册到业务同一个注册中心:

    • 在相应注册中心上检查WiseSecurity:SecurityTokenService微服务是否存在,如果不存在,则找到相应部署机器启动该微服务。
    • 检查业务的yaml文件中配置的environment参数和STS 1.0微服务中的environment是否一致,如果不一致则修改成一致。
  • missed header x-sts-token / x-sts-session

    provider通过STS SDK认证请求时,从http消息中无法获取到相应的STS认证header信息。

    • 直接用postman访问,会缺少相应的认证凭据而失败。因此如果测试需要,可以将微服务的STS认证放通开关打开。放通开关配置在sts.properties配置文件中的sts.bypass.enable参数:true表示放通,false表示不放通,默认是不放通。
    • consumer侧开启了放通,但provider侧没有放通。
  • sts.properties文件中未配置sts.config.path指定STS微服务证书加载路径(如果是IDEA中执行的,检查一下target下是否存在sts.properties)。STS SDK默认加载sts/sts.properties,业务也可以通过jvm启动参数sts.properties修改该文件的路径。

    如果是通过NUWA初始化STS的,检查yaml文件中是否有配置nuwa.security.sts.configPath。

    nuwa:
       security:
         sts:
           serverDomain: 10.33.102.109:8080
           configPath: /opt/huawei/certs/{ServiceName}/{MicroServiceName}/{MicroServiceName}.ini

    如果通过Java Bean方式初始化,检查是否有设置sts.config.path配置项。

    Properties properties = new Properties();
     properties.setProperty("sts.server.domain", "10.33.102.162:8080");
     properties.setProperty("sts.config.path", "D:/Test/ConsumerService/ConsumerMicroService1/ConsumerMicroService1.ini");
     StsKeyApi.initWith(properties);
  • STS管理台录入敏感配置项使用什么加密算法加密。

    敏感配置项采用STS给业务分配的KeK/ServiceKek(256位)使用AES/GCM加密。

  • Unable to resolve non-exist credentials

    StsCseClientFilter中发送请求时报如下异常和错误,这是由于无法获取到访问该微服务凭据抛出异常。检查服务初始化STS SDK时是否有异常(查看 logback或log4j中配置的com.huawei.wisesecurity.sts包路径的日志文件)。

  • invalid certificate

    回答:确认服务名和证书名是一致的,证书是重新下发的,再判断业务连接的STS server1.0上的证书是否有修改。

    注意:需要确定当前环境连接的STS服务器是正确的,可以确认性能环境所对应的注册中心,然后在这个注册中心的portal界面上查找并确认STS 1.0是哪台服务器注册上去的。

  • get sts token --Timestamp out of range/Timestamp is more earlier or later

    这是由于STS开启防重放攻击(和STS服务器之间时间差小于5分钟),检查业务服务器的时间是否正确。

  • configId can not be blank

    部署服务或者NUWARutime获取敏感配置项时,请求要获取的敏感配置项的列表中有值为空。

  • 管理台上服务下无法选到相应的微服务。

    在安全管理台上配置敏感配置项、证书时,服务下只显示已经在相应环境下在STS上注册过的微服务。需要让站点的业务SRE在运维管理台上进行微服务注册。

  • KeyStoreException: empty private key or certificate

    出现该提示,是因为主机上STS实例证书(位于/opt/huawei/certs/{服务}/{微服务}/下)并不完整,很可能是由于前一次部署过程中出错导致,请检查该证书是否有效,可使用以下命令对证书进行检查。

    /opt/huawei/apps/wisesecurity/stsagent/stsagent check -s {服务} -m {微服务} 

    如果提示校验错误信息,请重新执行stsagent-install部署步骤进行证书的重新申请。

  • Unable to find SecretKey version=0

    业务代码中使用STS密钥解密非STS加密的数据导致的错误。

  • Micro service xxx&yyy not registered

    微服务没有在STS管理台进行注册。

  • Fail to read service info from keystore

    STS SDK初始化是需要从STS的身份证书jks文件中读取服务和微服务信息,加载jks文件的时候异常了。一般是该jks文件有异常。

    SDK会根据service ini文件中的subject的CN项作为微服务名读取证书文件 {微服务名}.sts.p12

    [cert] subject = C=CN,O=Huawei,OU=Huawei CBG Cloud MicroService,CN=SecurityTokenServiceDemoSelfConsumer ip = 127.0.0.1
  • invalid timestamp

    检查业务主机的时间和标准时间差异是否超过5分钟。

  • timeout awaiting response headers

    sts-go-sdk内的 ResponseHeaderTimeout参数值设置过小,目前默认为100,在初始化时传入参数“sts.responseHeader.timeout”修改该值大小。

  • not an SSL/TLS record

    client和server两边SSL不一致:client通过HTTP访问,但Server是提供的HTTPS的服务。

    如果是 tomcat + NUWA/CSE,tomcat最终对外提供是http还是https是由tomcat的配置文件决定的,NUWA/CSE的yaml文件中定义的只是注册到注册中心告诉对端提供的是 http还是https。

  • Some config items not found

    iac provider在plan阶段会去校验敏感配置项是否存在于STS管理台,如果没有录入敏感配置项,或者敏感配置项的坐标不正确,则报此错,需要业务自己检查坐标是否正确。

  • fail to get provider ** credentials

    consumer集成sts-go-sdk在获取provider端访问凭据的时候失败,需要在provider端配置ACL,管理台录入ACL后,需等十分钟才生效。

    启动时如果发现类似错误:

    either 'jasypt.encryptor.password', one of ['jasypt.encryptor.private-key-string', 'jasypt.encryptor.private-key-location'] for asymmetric encryption, or one of ['jasypt.encryptor.gcm-secret-key-string', 'jasypt.encryptor.gcm-secret-key-location', 'jasypt.encryptor.gcm-secret-key-password'] for AES/GCM encryption must be provided for Password-based or Asymmetric encryption

    那么可以按两个方向排查:

    • 检查启动类是否添加@EnableStsEncryptableProperties ,需要添加该注解,才能初始化StsStringEncryptor对象。
    • 如果已经添加,那可能是触发自动解密的地方距离启动太早,导致 spring context 初始化还未完成,不能获取到StsStringEncryptor对象。例如,Eureka应用的bootstrap.yml中如果包含敏感配置项,就会报这个错,需要将敏感配置项移到其他配置文件中,即可解决。
  • Unable to refresh credentials for service SecurityTokenService&SecurityTokenMicroService

    该问题是STS初始化的时候,从kek.json或者keys.json获取本地密钥失败,导致无法从STS-Server获取凭据。

    解决方法:找到密钥的缓存地址,/${HOME}/.sts/服务名/微服务名/kek.json,删除kek.json和keys.json文件,重新启动即可。

提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容