本文介绍如何解决加密配置无法正常使用的问题。

问题现象

如果您在以下四种场景下无法发布加密配置,可以参考本文介绍的解决方案。

  • 使用Spring Cloud Alibaba和加解密配置搭建业务应用,发现业务应用无法启动。
  • 使用原生的nacos-java-sdk和加解密配置搭建业务应用,发现加解密配置发布或获取各种报错。
  • 使用nacos-go-sdk、nacos-nodejs-sdk等非Java的nacos-sdk搭建业务应用,发现无法正常使用加解密配置。
  • 在MSE控制台发布加解密配置,弹框报错。1

问题原因

可能存在网络连接、特殊字符等问题。解决方式请参见使用nacos-client发布配置失败

如果上述内容无法解决您的问题,您可以根据以下场景中寻找对应的解决方案。

  • Spring Cloud Alibaba

    如果您使用Spring Cloud Alibaba和加解密配置搭建业务应用,发现业务应用无法启动,可能的原因如下。

    • 业务应用中的dataId、groupId、tenantId和MSE上的相应加解密配置参数无法对应。
    • 您的业务工程中没有引入加解密插件的依赖。更多信息,请参见加解密插件工程地址
    • 未开通KMS服务。
    • 鉴权问题,权限不足。
  • 原生nacos-java-sdk

    如果您使用原生nacos-java-sdk和加解密配置搭建业务应用,发现业务应用无法启动,可能的原因如下。

    • 业务应用中的dataId、groupId、tenantId和MSE上的相应加解密配置参数无法对应。
    • 您的业务工程未引入加解密插件的依赖。更多信息,请参见加解密插件工程地址
    • 没有在阿里云产品页开通KMS服务。
    • 鉴权问题,权限不足。
  • 非Java SDK

    如果您使用nacos-go-sdk、nacos-nodejs-sdk等非Java的nacos-sdk搭建业务应用,发现无法正常使用加解密配置,可能的原因如下。

    • 相应的多语言nacos-sdk不支持加解密配置的发布和查询。
    • 业务应用中的dataId、groupId、tenantId和MSE上的加解密配置参数无法对应。
    • 没有在阿里云产品页开通KMS服务。
    • 鉴权问题,权限不足。
  • MSE控制台

    如果您在MSE控制台发布加解密配置时弹框报错,可能的原因如下。

解决方案

先检查是否存在网络连接问题、特殊字符问题。具体操作,请参见使用nacos-client发布配置失败

然后登录KMS管理控制台 (aliyun.com),查看您是否已经开通了KMS加解密服务。

如果上述内容无法解决您的问题,您可以在以下场景中查看对应的解决方案。

Spring Cloud Alibaba

如果您使用Spring Cloud Alibaba或者原生nacos-Java-sdk搭建业务应用,可以检查${user_home}/logs/nacos/config.log中的详细报错信息。

  • 如果发现403,则为权限问题,请授予该子账号足够的权限。具体操作,请参见Nacos引擎访问权限
  • 如果发现日志中的dataId、groupId、tenant、namespaceId等关键字和MSE控制台上的不一致,请先发布配置,可以在MSE控制台上发布,也可以使用ConfigService.publishConfig API发布。
  • 如果上述步骤仍然无法解决问题,您可以参考下述Demo工程进行调试。

原生nacos-go-sdk

如果您使用了nacos-go-sdk搭建业务应用,可以参考Demo工程进行调试。更多信息,请参见nacos-go加解密demo工程

非Java SDK

除Go之外,其他非Java语言API暂时不支持加解密配置。如果您有兴趣贡献,可以前往github找到相应的工程代码进行贡献。

MSE控制台

如果您在MSE控制台发布加解密配置失败,请检查您的配置大小是否超过了50 KB。超过50 KB的加解密配置会造成稳定性风险,请将配置拆为多个小配置。