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

时间:2019-04-16 03:32:14

标签: c# amazon-web-services asp.net-core aws-secrets-manager

我一直在努力在.NET Core上实现Secrets Manager。在同事PC上运行时,它总是在GetSecretValueAsync方法调用上返回Socket Exception和HTTPRequestException。

  

SocketException:尝试对无法访问的网络进行套接字操作   HttpRequestException:尝试对无法访问的网络进行套接字操作   HttpRequestException   SocketException

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

以下是我通过MFA身份验证获得的凭据示例: AWS credentials file 这是我的AWS凭证配置和文件夹位置: Credentials location 通常,我和同事的环境是相同的。现在我快要死了。如果有人有经验或AWS Web服务团队愿意为我提供有关此解决方案的帮助,请告诉我。谢谢。干杯。

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

更新: 我在这里找到了真正的问题,但仍然没有解决方案。因为我无法真正看到机密管理者从何处获取凭据。为您提供信息,此方法可在我的PC上的.NET Framework上使用。 Issue found

2 个答案:

答案 0 :(得分:1)

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

[default]
region = us-east-1

如果这不能帮助描述配置,请

答案 1 :(得分:0)

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

IIS system profile folder