You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Localstack环境下Spring Boot应用无法读取AWS Secrets Manager密钥

问题解决:Spring Boot 2.7.8 + Localstack Secrets Manager 密钥解析失败

核心问题定位

你在Localstack中创建了/secret/spring-boot-app密钥,但Spring Boot应用无法解析其中的my_pwd、username等变量,出现占位符解析失败、Secrets Manager找不到密钥的错误,根源在于依赖版本不匹配和配置未正确指向Localstack端点。

正确依赖配置

Spring Boot 2.7.8需要搭配兼容版本的Spring Cloud AWS组件,以下是Maven和Gradle的配置示例:

Maven

<dependency>
    <groupId>io.awspring.cloud</groupId>
    <artifactId>spring-cloud-starter-aws-secrets-manager-config</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

Gradle

implementation 'io.awspring.cloud:spring-cloud-starter-aws-secrets-manager-config:2.2.6.RELEASE'

注意:不要混用不同版本的AWS SDK或Spring Cloud依赖,版本不兼容会导致无法识别Localstack的Secrets Manager服务。

application.yml 正确配置

必须明确指定Localstack的端点、区域,以及密钥路径,同时配置本地测试用的AWS凭证:

spring:
  cloud:
    aws:
      secretsmanager:
        endpoint: http://localhost:4566  # Localstack Secrets Manager默认端口
        region: us-east-1  # 与创建密钥时指定的区域保持一致(Localstack默认us-east-1)
        enabled: true
        name: /secret/spring-boot-app
      credentials:
        access-key: test  # Localstack无需真实AWS密钥,用test即可
        secret-key: test
  config:
    import: optional:aws-secretsmanager:/secret/spring-boot-app  # 导入密钥,optional避免启动时因密钥不存在报错

关键配置说明:

  • endpoint必须指向Localstack,否则应用会尝试连接真实AWS Secrets Manager
  • spring.config.import用于提前加载密钥配置,确保占位符能被正确解析

Localstack 密钥内容检查

创建密钥时,必须使用JSON格式存储键值对,否则Spring Boot无法解析变量:

# 用awslocal创建符合要求的密钥
awslocal secretsmanager create-secret --name /secret/spring-boot-app --secret-string '{"username":"admin","my_pwd":"123456"}'

可以用以下命令验证密钥内容:

awslocal secretsmanager get-secret-value --secret-id /secret/spring-boot-app

变量注入测试

在Spring Boot组件中直接通过@Value注入变量即可:

@RestController
public class TestController {

    @Value("${username}")
    private String username;

    @Value("${my_pwd}")
    private String password;

    @GetMapping("/test")
    public String getSecretValues() {
        return String.format("Username: %s, Password: %s", username, password);
    }
}

内容的提问来源于stack exchange,提问作者Arpit S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:15:58