文件系统后端
配置服务器中还有一个“native”配置文件,它不使用 Git,而是从本地类路径或文件系统(您可以通过 spring.cloud.config.server.native.searchLocations
指向的任何静态 URL)加载配置文件。要使用 native 配置文件,启动配置服务器时设置 spring.profiles.active=native
。
请记住为文件资源使用 file: 前缀(没有前缀的默认通常是类路径)。与任何 Spring Boot 配置一样,您可以嵌入 ${} 风格的环境占位符,但请记住,Windows 中的绝对路径需要额外的 / (例如,/${user.home}/config-repo )。 |
searchLocations 的默认值与本地 Spring Boot 应用相同(即 [classpath:/, classpath:/config, file:./, file:./config] )。这不会将服务器的 application.properties 暴露给所有客户端,因为服务器中存在的任何属性源在发送给客户端之前都会被移除。 |
文件系统后端非常适合快速入门和测试。要在生产环境中使用它,您需要确保文件系统可靠且在配置服务器的所有实例之间共享。 |
搜索位置可以包含 {application}
、{profile}
和 {label}
的占位符。这样,您可以在路径中隔离目录,并选择适合您的策略(例如,每个应用一个子目录或每个 profile 一个子目录)。
如果您在搜索位置中不使用占位符,此仓库也会将 HTTP 资源的 {label}
参数作为后缀附加到搜索路径上,以便属性文件从每个搜索位置 以及 一个与 label 同名的子目录中加载(带 label 的属性在 Spring Environment 中具有优先级)。因此,不使用占位符的默认行为与添加一个以 /{label}/
结尾的搜索位置相同。例如,file:/tmp/config
与 file:/tmp/config,file:/tmp/config/{label}
相同。可以通过设置 spring.cloud.config.server.native.addLabelLocations=false
来禁用此行为。