通过代理访问后端

配置服务器可以通过 HTTP 或 HTTPS 代理访问 Git 或 Vault 后端。此行为由 proxy.httpproxy.https 下的设置控制,适用于 Git 或 Vault。这些设置是针对每个仓库的,因此如果使用复合环境仓库,则必须为复合仓库中的每个后端单独配置代理设置。如果使用的网络对 HTTP 和 HTTPS URL 需要单独的代理服务器,则可以为一个后端同时配置 HTTP 和 HTTPS 代理设置:在这种情况下,http 访问将使用 http 代理,而 https 访问将使用 https 代理。此外,您可以使用应用程序和代理之间的代理定义协议指定一个代理,该代理将用于这两种协议。

下表描述了 HTTP 和 HTTPS 代理的代理配置属性。所有这些属性必须以 proxy.httpproxy.https 作为前缀。

表 1. 代理配置属性
属性名称 备注

host

代理的主机名。

port

访问代理的端口。

nonProxyHosts

配置服务器应在代理之外访问的任何主机。如果同时提供了 proxy.http.nonProxyHostsproxy.https.nonProxyHosts 的值,则将使用 proxy.http 的值。

username

用于对代理进行身份验证的用户名。如果同时提供了 proxy.http.usernameproxy.https.username 的值,则将使用 proxy.http 的值。

password

用于对代理进行身份验证的密码。如果同时提供了 proxy.http.passwordproxy.https.password 的值,则将使用 proxy.http 的值。

以下配置使用 HTTPS 代理访问 Git 仓库。

spring:
  profiles:
    active: git
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo
          proxy:
            https:
              host: my-proxy.host.io
              password: myproxypassword
              port: '3128'
              username: myproxyusername
              nonProxyHosts: example.com