你的应用程序可能须要根据其环境定制的通用纯文本配置文件,而不是使用Environment
抽象(或YAML或属性格式中的其中一种替表明示)。Config Server经过/{name}/{profile}/{label}/{path}
中的附加端点提供这些,其中name
、profile
和label
与常规环境端点具备相同的含义,但path
是文件名(例如log.xml
)。此端点的源文件的定位方式与环境端点相同,相同的搜索路径用于属性和YAML文件,可是,不是聚合全部匹配的资源,而是仅返回要匹配的第一个。nginx
找到资源后,经过使用提供的应用程序名称、配置文件和标签的有效Environment
来解析正常格式(${…}
)的占位符,经过这种方式,资源端点与环境端点紧密集成,请考虑如下GIT或SVN存储库示例:spring
application.yml nginx.conf
其中nginx.conf
看起来像这样:segmentfault
server { listen 80; server_name ${nginx.server.name}; }
application.yml
像这样:服务器
nginx: server: name: example.com --- spring: profiles: development nginx: server: name: develop.com
/foo/default/master/nginx.conf
资源可能以下:app
server { listen 80; server_name example.com; }
/foo/development/master/nginx.conf
是这样的:code
server { listen 80; server_name develop.com; }
与环境配置的源文件同样,profile
用于解析文件名,所以,若是你须要特定配置文件,/*/development/*/logback.xml
能够被解析为名为logback-development.xml
的文件(优先于logback.xml)。
若是你不想提供label
并让服务器使用默认标签,则能够提供useDefaultLabel
请求参数,所以,default
配置文件的前面示例多是/foo/default/nginx.conf?useDefaultLabel
。