一、现象
apollo开启秘钥,服务获取配置参数需要启动参数中添加:jvm参数-Dapollo.accesskey.secret=XXX。日志如下:
二、解决方案
应用服务器时间异常,重置应用服务器时间即可。
三、原因
看了源码后,在获取apollo参数时,使用当前服务器时间作为参数做了加密。怀疑apollo那边进行了时间校验。比如加密时的时间必须<apollo那边校验密码时的时间。所以如果应用服务器时间>当前真实时间,bug出现。
四、log日志
INFO [restartedMain] DefaultApplicationProvider.initAccessKey(131)
- ACCESSKEY SECRET is set by apollo.accesskey.secret property from System Property--->确实获取到秘钥了。
RemoteConfigRepository.loadApolloConfig(195)
- Load config failed, will retry in 1 SECONDS. appId: *, cluster: local, namespaces: application-->最终还是获取配置失败!!