1. git仓库中配置文件的名字是有作用的
比如utaha-dev.yml,代表了{application}-{profile},application要和文件所属的application.name一致。
2. 配置加密方式要写在bootstrap.yml里
bootstrap.yml里的属性比application.yml里的优先级要高,加密配置比如:
encrypt:
key-store:
location: file:D:/java/java-encrypt/config-server.keystore
alias: config-server
secret: keypass
password: storepass
之后配置在application-local里的密文{cipher}才会被顺利解密。同理,客户端中对spring.cloud.config的配置也要放在bootstrap.yml中。
3. yml格式的配置文件中,String格式的字段太长的话需要加上' '
通过RSA加密的密文一般都很长,长文本不加' 'yml会无法识别而报错(报错没仔细研究,也有可能是因为密文中有特殊字符影响yml的识别):
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application-local.yml'
Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping, expected <block end>, but found Scalar
4.spring.application.name,应用名称(服务名称),最好用全大写。
虽然在feign中不区分大小写,但是配置文件里要用到serviceId的时候是区分大小写的,比如zuul的映射和configClient需要使用的service。需要注意的是zuul.ignored-services忽略自动映射的服务这里,serviceId又只能用小写,还在研究这个的实际原因。