当前位置: 首页 > 知识库问答 >
问题:

Spring云配置服务器-MultipleGitEnvironmentRepository:无法获取主远程的远程

宗政子琪
2023-03-14

我正在尝试设置一个SpringCloudConfig服务器,它使用SSH密钥从GitRepo获取配置。它使用SpringBootVersion2.1运行。0.0版本和springCloudVersion格林威治。M3。

当在下面的配置中使用带有用户名和密码的https bitbucket URI时,配置服务工作正常,没有问题:

  security.user:
    name: xxxxx
    password: xxxxx
  cloud.config.server:
    git:
      uri: https://bitbucket.org/abc/configs.git
      username: uname
      password: pass

但我们必须迁移到使用ssh密钥,而不是使用以下配置的用户名和密码:

  security.user:
    name: xxxxx
    password: xxxxx
  cloud.config.server:
    git:
      uri: git@bitbucket.org:abc/configs.git

id_rsa私钥文件位于中。包含配置文件的ssh文件夹:

Host bitbucket.org
    StrictHostKeyChecking no
    IdentityFile /home/user/.ssh/id_rsa

最初的git克隆工作正常,当我点击超文本传输协议://xxxx:xxxx@localhost: 8899/app/dev时,我们能够毫无问题地获取配置。

但是在那之后,日志中有很多警告,它无法从远程获取。初始克隆后,还将正确获取对配置的进一步更新。但我不知道为什么日志中会有这么多警告,这与我有关。

2020-07-31 11:38:51.636WARN 1---[io-48899-exec-7]. c. s. e.MultipleJGit环境仓库:无法获取远程主远程:git@bitbucket.org: abc/configs.git

正如我前面提到的,只有当我们使用SSH密钥进行克隆时,才会发生这种情况。同一个项目可以很好地使用https克隆。有什么我遗漏的吗?

共有1个答案

柯波峻
2023-03-14

万一将来有人遇到这个问题,我们可以通过在配置服务器中设置refreshRate来解决这个问题。

您可以使用spring控制配置服务器从Git后端获取更新配置数据的频率。云配置。服务器吉特。刷新率。此属性的值以秒为单位指定。默认情况下,该值为0,这意味着配置服务器将在每次请求时从Git repo获取更新的配置。

默认情况下,它被设置为0。由于它是向consul注册的,其他服务的consul健康检查endpoint使配置服务器不堪重负,每秒有太多的请求,这导致配置服务器从比特桶中拉出太多次。一旦刷新率被设置为5s,那么配置服务器开始每5秒拉取一次配置,现在它是稳定的。它已经一周了,配置服务正在按预期工作,SSH密钥没有任何问题。

 类似资料:
  • 我已经使用spring开发了配置服务器。 我的申请书。java是 我的bootstrap.properties档案 我的配置服务器客户端开发。属性文件 我使用了git init、git add和git commit命令将我的文件添加到本地git。 但是当我运行应用程序并进入http://localhost:8888/client-config/development 它不显示我的属性值。 应用程序

  • 我正在关注应用程序中的条目。 我有下面的spring云服务器应用程序代码。 我收到以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2021 02月24日01:39:52.356错误20804---[restartedMain]o.s.b.d.LoggingFailureAnalysisReporter: 应用程序无法启动 描述:

  • 我开始查看firebase remote config,阅读了文档并创建了一个简单的测试应用程序来了解缓存是如何工作的,但我不清楚其行为。 为了标识当前的应用程序实例,fetch请求创建一个Firebase实例ID令牌,该令牌定期向Firebase后端发送数据 在每次新的调用时,都会创建一个新的ID?期刊的要求是如何工作的?我希望只调用一次fetch,并且在请求过时的属性值或类似的东西时自动发送请

  • 我无法连接到在Windows上的远程机器上运行的mongob服务器,我通过命令提示符(不是服务)上的远程桌面连接进行远程访问,在远程机器上启动mongob服务器,它显示在端口27017上等待连接... 我也尝试过创办蒙古包bind_ip0.0.0.0,但没有任何益处。 我还检查了远程机器上的端口27017是通过UDP打开的,而不是通过[https://support.nightlydev.org/

  • sudo ufw状态:活动状态 从---------22/TCP允许任意位置10000 允许任意位置Nginx完全 允许任意位置3333 允许任意位置27017 允许任意位置22/TCP(v6) 允许任意位置(v6)10000(v6) 允许任意位置(v6)Nginx完全(v6) 允许任意位置(v6)27017(v6) 允许任意位置(v6) 从我的mac连接到它会引发错误: mongo MongoD

  • 我有一个web应用程序,我想使用Spring Boot的服务器配置。这两个应用程序都位于本地主机上。我从头开始创建了前两个应用程序,它们一起工作,但当我使用具有许多依赖项(不仅仅是云配置和web依赖项)的客户端时,它就不再工作了。我怎么知道?我在服务器的属性文件中有一个变量,我试图在我的客户机中用@Value(“${atena}”)来使用它,错误出现在java中。lang.IllegalArgum