我一直在努力在.NET Core上实现Secrets Manager。在同事PC上运行时,它总是在GetSecretValueAsync方法调用上返回Socket Exception和HTTPRequestException。
SocketException:尝试对无法访问的网络进行套接字操作 HttpRequestException:尝试对无法访问的网络进行套接字操作
我已经在Windows以及每个IIS App Pool .aws文件夹上的C:\ Users \ USERNAME.aws \ credentials中的AWS默认配置文件中设置了所需的凭证文件。所有凭据以ANSI以前的UTF-8格式存储。
以下是我通过MFA身份验证获得的凭据示例: 这是我的AWS凭证配置和文件夹位置: 通常,我和同事的环境是相同的。现在我快要死了。如果有人有经验或AWS Web服务团队愿意为我提供有关此解决方案的帮助,请告诉我。谢谢。干杯。
var data = secretManager.GetSecretValueAsync(
new GetSecretValueRequest
{
SecretId = configName
}
).Result;
更新: 我在这里找到了真正的问题,但仍然没有解决方案。因为我无法真正看到机密管理者从何处获取凭据。为您提供信息,此方法可在我的PC上的.NET Framework上使用。
答案 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系统配置文件文件夹。谢谢大家!