.NET Core 2.1 上的 AWS Secrets Manager GetSecretValueAsync 套接字异常

Socket exception on AWS Secrets Manager GetSecretValueAsync on .NET Core 2.1

我一直在努力在 .NET Core 上实现机密管理器。当它在我的同事 PC 上工作时,它总是在 GetSecretValueAsync 方法调用上返回套接字异常和 HTTPRequestException。

SocketException: A socket operation was attempted to an unreachable network HttpRequestException: A socket operation was attempted to an unreachable network

我已经在 Windows 上的 C:\Users\USERNAME.aws\credentials 以及每个 IIS App Pool .aws 文件夹中设置了 AWS 默认配置文件所需的凭证文件。所有凭据以 UTF-8 格式存储,以前是 ANSI。

这是我通过 MFA 身份验证获得的凭据示例: 这是我的 aws 凭据配置和文件夹位置: 大多数情况下,我和同事的设置是一样的。现在我几乎走到了死胡同。如果有人有经验或 AWS Web 服务团队愿意帮助我解决这个问题,请告诉我。谢谢你。干杯。

var data = secretManager.GetSecretValueAsync(
    new GetSecretValueRequest
    {
        SecretId = configName
    }
).Result;

更新: 我在这里发现了真正的问题,但仍然没有解决方案。因为我真的看不出机密管理器从哪里获得凭据。供您参考,此方法适用于我 PC 中的 .NET Framework。

需要更多信息来提供帮助。 1. aws凭证的路径通常是 C:\Users\USERNAME.aws\ 不是 C:\Users\USERNAME.aws\
2. 在此文件夹中应该有一个名为 config 的文件,其中定义了区域。放置配置 AWS Secrets Manager 的区域。举个例子

[default]
region = us-east-1

如果这对描述配置没有帮助,请

我终于在这里找到了真正的问题。这实际上是因为我需要允许 IIS_IUSRS 组用户访问 IIS 系统配置文件文件夹。谢谢大家!