如何在Spring Boot Config Server中禁用awsCodeCommit?及SSH克隆报错排查
解决Spring Cloud Config Server 1.3.x在AWS上禁用CodeCommit并使用SSH Git仓库的问题
你的Config Server在AWS环境下自动触发了AWS CodeCommit的适配逻辑,这就导致SSH格式的Git仓库地址无法正常拉取。针对1.3.x版本,你可以通过以下两种方式禁用CodeCommit的自动配置:
方法一:通过配置属性直接禁用
在你的application.properties或者application.yml中添加以下配置,强制关闭CodeCommit的自动启用逻辑:
如果用properties格式:
spring.cloud.config.server.git.aws-code-commit-enabled=false
如果用yml格式:
spring: cloud: config: server: git: aws-code-commit-enabled: false
方法二:通过启动类排除自动配置类
如果配置属性不生效,你可以直接在Config Server的启动类中排除AWS CodeCommit的自动配置类。1.3.x版本对应的自动配置类是AwsCodeCommitAutoConfiguration,修改启动类代码如下:
@SpringBootApplication(exclude = { AwsCodeCommitAutoConfiguration.class }) public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } }
额外的验证步骤
在禁用CodeCommit之后,建议先确认AWS服务器本身能正常通过SSH克隆你的Git仓库:
- 在服务器上执行
git clone git@your-repo-url.git,确保能成功克隆,排除密钥配置、网络连通性的问题 - 如果你的SSH密钥不在默认路径(
~/.ssh/id_rsa),可以在Config Server配置中指定密钥路径:spring.cloud.config.server.git.ssh-key-path=/path/to/your/private/key
完成以上操作后,重启Config Server,应该就能正常拉取SSH格式的Git仓库配置了。
内容的提问来源于stack exchange,提问作者Vinoth Rajendran
相关产品推荐
相关产品推荐

