本文介绍如何解决加密配置无法正常使用的问题。
问题现象
如果您在以下四种场景下无法发布加密配置,可以参考本文介绍的解决方案。
- 使用Spring Cloud Alibaba和加解密配置搭建业务应用,发现业务应用无法启动。
- 使用原生的nacos-java-sdk和加解密配置搭建业务应用,发现加解密配置发布或获取各种报错。
- 使用nacos-go-sdk、nacos-nodejs-sdk等非Java的nacos-sdk搭建业务应用,发现无法正常使用加解密配置。
- 在MSE控制台发布加解密配置,弹框报错。
问题原因
可能存在网络连接、特殊字符等问题。解决方式请参见使用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服务。
- 鉴权问题,权限不足。
解决方案
先检查是否存在网络连接问题、特殊字符问题。具体操作,请参见使用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的加解密配置会造成稳定性风险,请将配置拆为多个小配置。