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

AWS-SDK 2.x在Node.js 20/21环境下调用SecretsManager超时求助

AWS SDK v2.x SecretsManager getSecretValue 在 Node.js 20/21 环境超时问题

问题详情

我使用 AWS SDK v2.x,通过process.env.AWS_SDK_LOAD_CONFIG = 1;配置环境变量,编写了如下 SecretManager 类。调用其getSecretValue方法时,在 Node.js 20/21 环境出现超时问题,但 Node.js 18/19 环境可正常运行。每次用 nvm 切换 Node 版本都会清理package-lock.json和node_modules并重新执行npm i,原项目基于 Node.js 12,尝试多种依赖安装方式后问题仍存在。

SecretManager 类代码

const AWS = require("aws-sdk");
let client;

class SecretManager {
  constructor() {
    throw new Error("Constructor not implemented");
  }

  static initialize(config) {
    AWS.config.update({
      region: config.aws.region,
    });

    client = new AWS.SecretsManager();
    return client;
  }

  static getClient() {
    return client;
  }
}

module.exports = SecretManager;

调用代码

const secretManager = SecretManager.initialize(config);
secretManager.getSecretValue(
  { SecretId: config.awsSecretManagerId }, () => {}
);

可能的原因及解决方法

  • Node.js 20+ 网络默认行为变更
    Node.js 20 起调整了 HTTP(S) 代理、根证书信任等默认配置,可显式指定 AWS SDK 的 HTTP 选项强制兼容:

    static initialize(config) {
      AWS.config.update({
        region: config.aws.region,
        httpOptions: {
          agent: new require('https').Agent({
            rejectUnauthorized: true,
            secureProtocol: 'TLSv1_2_method'
          })
        }
      });
    
      client = new AWS.SecretsManager();
      return client;
    }
    
  • AWS SDK v2 版本兼容性
    旧版 AWS SDK v2 可能未适配 Node.js 20+ 特性,升级到最新稳定版:

    npm install aws-sdk@latest
    
  • 环境变量配置时机错误
    确保process.env.AWS_SDK_LOAD_CONFIG = 1;执行在require('aws-sdk')之前,否则配置不生效:

    process.env.AWS_SDK_LOAD_CONFIG = 1;
    const AWS = require("aws-sdk");
    // 后续代码...
    
  • 凭证加载逻辑差异
    Node.js 20+ 对凭证链加载逻辑有调整,可显式指定凭证来源:

    AWS.config.update({
      region: config.aws.region,
      credentials: new AWS.SharedIniFileCredentials({ profile: 'your-profile' })
      // 或使用环境变量凭证:new AWS.EnvironmentCredentials('AWS')
    });
    

内容的提问来源于stack exchange,提问作者Syed Muhammad Akbar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:40:07