为客户端应用程序寻求有关 spring.cloud.config 属性组的完整文档
Seeking thorough documentation on the spring.cloud.config properties group for client applications
我正在尝试连接到托管在 Pivotal Cloud Foundry 中的 spring 云配置配置服务器(服务)。
配置服务受 OAuth2 保护,我无法让客户端通过配置服务器进行身份验证。我不断收到 401 未经授权的消息。
我无法在 bootstrap.yml 中找到正确的属性组合。
这是我当前的 bootstrap.yml,您可以看到我尝试了很多不同的配置,我什至已经从等式中删除了 Pivotal Cloud Foundry 并试图实现它在我处理这些安全错误时从我的本地主机。
bootstrap.yml:
#Search for System Property of cloud config server, otherwise use localhost
config server.
spring:
cloud:
config:
enabled: true
#uri: ${vcap.services.config-server.credentials.uri:http://localhost:8888}
uri: https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com
authorization: ${security.oauth2.client}
#username: ${vcap.services.config-server.credentials.client_id}
#password: ${vcap.services.config-server.credentials.client_secret}
name: app
#token: ${security.oauth2.client.token-name}
security:
basic:
enabled: false
oauth2:
client:
#id: ${vcap.services.config-server.credentials.client_id}
#client-secret: ${vcap.services.config-server.credentials.client_secret}
#access-token-uri: ${vcap.services.config-server.credentials.access_token_uri}
id: p-config-server-9281df10-bc67-49a2-863b-48844a1ce724
client-secret: UIcc1m6lvvHK
access-token-uri: https://p-spring-cloud-services.uaa.domain.host.com/oauth/token
token-name: config-server-token
欢迎任何见解、提示或指点。
如果我能够在解决此 401 错误方面取得任何进展,我将继续 post 跟进此问题。
关于它的价值的相当非描述性的错误消息:
GET request for "https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com/app/dev" resulted in 401 (Unauthorized); invoking error handler
Could not locate PropertySource: 401 Unauthorized
原来我把问题复杂化了。
我在我的 pom 中缺少一个依赖项,它需要一个简化的 bootstrap.yml.
决赛bootstrap.yml:
spring:
profiles: cloud
application:
name: app
这确保它仅在 运行 在云端时使用(PCF 提供 'cloud' 配置文件),并且在询问配置服务器时使用仅在 bootstrap.yml 中提供的应用程序名称对于属性文件(请参阅此文档:https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html)
并且在我的 pom.xml 中添加了这些依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>io.pivotal.spring.cloud</groupId>
<artifactId>spring-cloud-services-starter-config-client</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
</dependency>
我仍然不确定是否需要 oauth2 依赖项,但目前我还没有尝试过没有它。
不向 spring.cloud.config 属性组提供任何额外配置的目的是允许 spring-cloud-services-starter-config 在 [=31= 中获取它需要的任何属性] 并将应用程序绑定到配置服务器并填写访问所述配置服务器所需的所有属性。
我正在尝试连接到托管在 Pivotal Cloud Foundry 中的 spring 云配置配置服务器(服务)。
配置服务受 OAuth2 保护,我无法让客户端通过配置服务器进行身份验证。我不断收到 401 未经授权的消息。
我无法在 bootstrap.yml 中找到正确的属性组合。
这是我当前的 bootstrap.yml,您可以看到我尝试了很多不同的配置,我什至已经从等式中删除了 Pivotal Cloud Foundry 并试图实现它在我处理这些安全错误时从我的本地主机。
bootstrap.yml:
#Search for System Property of cloud config server, otherwise use localhost
config server.
spring:
cloud:
config:
enabled: true
#uri: ${vcap.services.config-server.credentials.uri:http://localhost:8888}
uri: https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com
authorization: ${security.oauth2.client}
#username: ${vcap.services.config-server.credentials.client_id}
#password: ${vcap.services.config-server.credentials.client_secret}
name: app
#token: ${security.oauth2.client.token-name}
security:
basic:
enabled: false
oauth2:
client:
#id: ${vcap.services.config-server.credentials.client_id}
#client-secret: ${vcap.services.config-server.credentials.client_secret}
#access-token-uri: ${vcap.services.config-server.credentials.access_token_uri}
id: p-config-server-9281df10-bc67-49a2-863b-48844a1ce724
client-secret: UIcc1m6lvvHK
access-token-uri: https://p-spring-cloud-services.uaa.domain.host.com/oauth/token
token-name: config-server-token
欢迎任何见解、提示或指点。
如果我能够在解决此 401 错误方面取得任何进展,我将继续 post 跟进此问题。
关于它的价值的相当非描述性的错误消息:
GET request for "https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com/app/dev" resulted in 401 (Unauthorized); invoking error handler
Could not locate PropertySource: 401 Unauthorized
原来我把问题复杂化了。 我在我的 pom 中缺少一个依赖项,它需要一个简化的 bootstrap.yml.
决赛bootstrap.yml:
spring:
profiles: cloud
application:
name: app
这确保它仅在 运行 在云端时使用(PCF 提供 'cloud' 配置文件),并且在询问配置服务器时使用仅在 bootstrap.yml 中提供的应用程序名称对于属性文件(请参阅此文档:https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html)
并且在我的 pom.xml 中添加了这些依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>io.pivotal.spring.cloud</groupId>
<artifactId>spring-cloud-services-starter-config-client</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
</dependency>
我仍然不确定是否需要 oauth2 依赖项,但目前我还没有尝试过没有它。
不向 spring.cloud.config 属性组提供任何额外配置的目的是允许 spring-cloud-services-starter-config 在 [=31= 中获取它需要的任何属性] 并将应用程序绑定到配置服务器并填写访问所述配置服务器所需的所有属性。