提供纯文本

您的应用程序可能需要针对其环境定制的通用纯文本配置文件,而不是使用抽象(或以 YAML 或 properties 格式表示的替代表示形式之一)。 Config Server通过位于其中的附加端点提供这些内容,并且与常规环境端点具有相同的含义,但其路径是文件名(例如)。 此终端节点的源文件的定位方式与环境终端节点的定位方式相同。 相同的搜索路径用于属性和 YAML 文件。 但是,不是聚合所有匹配的资源,而是仅返回第一个匹配的资源。Environment/{application}/{profile}/{label}/{path}applicationprofilelabelpathlog.xmlspring-doc.cn

找到资源后,将使用提供的应用程序名称、配置文件和标签的 effective 解析正常格式 () 的占位符。 通过这种方式,资源终端节点与环境终端节点紧密集成。${…​}Environmentspring-doc.cn

与环境配置的源文件一样,the 用于解析文件名。 因此,如果您想要特定于配置文件的文件,可以通过名为 (优先于 ) 的文件来解析。profile/*/development/*/logback.xmllogback-development.xmllogback.xml
如果您不想提供并让服务器使用默认标签,则可以提供请求参数。 因此,配置文件的前面示例可以是 。labeluseDefaultLabeldefault/sample/default/nginx.conf?useDefaultLabel

目前,Spring Cloud Config 可以为 git、SVN、原生后端和 AWS S3 提供明文。 对 git、SVN 和原生后端的支持是相同的。AWS S3 的工作方式略有不同。 以下部分显示了每个 API 的工作原理:spring-doc.cn

Git、SVN 和原生后端

请考虑以下 GIT 或 SVN 存储库或本机后端的示例:spring-doc.cn

application.yml
nginx.conf

这可能类似于下面的清单:nginx.confspring-doc.cn

server {
    listen              80;
    server_name         ${nginx.server.name};
}

application.yml可能类似于下面的清单:spring-doc.cn

nginx:
  server:
    name: example.com
---
spring:
  profiles: development
nginx:
  server:
    name: develop.com

资源可能如下所示:/sample/default/master/nginx.confspring-doc.cn

server {
    listen              80;
    server_name         example.com;
}

/sample/development/master/nginx.conf可能如下所示:spring-doc.cn

server {
    listen              80;
    server_name         develop.com;
}

AWS S3

要为 AWS s3 启用纯文本服务,Config Server 应用程序需要包含对 Spring Cloud AWS 的依赖项。 有关如何设置该依赖项的详细信息,请参阅 Spring Cloud AWS 参考指南。 然后,您需要配置 Spring Cloud AWS,如 Spring Cloud AWS 参考指南中所述。spring-doc.cn

解密纯文本

默认情况下,不会解密纯文本文件中的加密值。为了启用纯文本文件的解密,请在spring.cloud.config.server.encrypt.enabled=truespring.cloud.config.server.encrypt.plainTextEncrypt=truebootstrap.[yml|properties]spring-doc.cn

仅 YAML、JSON 和属性文件扩展名支持解密纯文本文件。

如果启用此功能,并且请求不受支持的文件扩展,则不会解密文件中的任何加密值。spring-doc.cn