【发布时间】:2019-06-16 11:35:33
【问题描述】:
我在 PCF 中创建了一个 PCF 配置服务器服务。当我部署充当 Config 服务客户端的 springboot 应用程序,部署到 PCF 并将其绑定到 Config 服务器服务时,它会无缝拉取配置,一切都很好。
我的问题是,从我的笔记本电脑本地运行应用程序时,我无法从我的 springboot 应用程序连接到 PCF 配置服务器。
根据各种文档,我为我的配置服务器服务创建了服务密钥,并修改了我的 bootstrap.yml,如下所示。
我收到 401 未经授权的错误。 INFO 22180 --- [main] c.c.c.ConfigServicePropertySourceLocator:从服务器获取配置:https://config-8660fe8f-2b6b-4171-bd7f-36f3a60ec48a.apps.pcfepg2wi.gm.com WARN 22180 --- [main] c.c.c.ConfigServicePropertySourceLocator:找不到 PropertySource:401 Unauthorized INFO 22180 --- [main] com.gm.mms.extfile.Application:tartupProfileInfo - 以下配置文件处于活动状态:dev
spring:
application:
name: external-file-service
profiles:
active: dev
cloud:
config:
uri: https://config-8660fe8f-2b6b-4171-bd7f-
36f3a60ec48a.apps.pcfepg2wi.gm.com
username: <username-here>
password: <password-here>
client_secret: RwKMmAhOzuz8
client_id: p-config-server-ebcd8a29-2615-4924-88bb-b4188d50d2b5
access_token_uri: https://p-spring-cloud-
services.uaa.sys.pcfepg2wi.gm.com/oauth/token
label: develop
security:
basic:
enabled: false
【问题讨论】:
-
您连接 PCF 配置服务器的目的是什么?为什么不能在本地启动配置服务器并将应用绑定到本地配置服务器?
-
连接PCF配置服务器的目的是从git中拉取application.yml配置。当我已经将配置服务器作为 PCF 服务时,为什么我应该在本地旋转(编码)配置服务器?
-
在本地启动一个配置服务器非常简单(下载一个 spring boot 应用程序,在 main 方法中保留
@EnableConfigServer注释,将你的 git-repo 指向bootstrap.yml.. 现在你已经准备好了.. 这样您就可以轻松地在本地测试您的应用程序,并且也有利于您的Junit测试用例...我真的没有看到任何应用程序团队/锚从位于数据中心的服务器中提取他们的配置来测试它本地..你可以,但我真的找不到任何好处 -
这是您在尝试从本地连接 PCF 市场服务时会看到的非常常见的问题,而且大多数情况下是因为防火墙规则。请与您的 PCF 团队确认他们是否已从 PCF 基金会外部禁用连接。
-
@Arun - 感谢您的洞察力。我会追求那个解决方案。你可能是对的..我进行了广泛的搜索,但找不到任何人按照我的方式尝试。
标签: spring-boot cloud-foundry spring-cloud-config