我正在尝试使用此软件包https://github.com/aws/aws-ssm-data-protection-provider-for-aspnet在带有AWS Parameter Store的Aspnet.core中设置数据保护密钥
当我在单个服务器或本地服务器上运行我的应用程序时,它运行良好。我可以登录到AWS并验证是否已创建参数并存储了钥匙链信息。
当我在负载平衡的实例中运行此命令时,出现以下错误,当请求到达第二台服务器时,出现500错误
调用SSM获取以/ asp_dataprotection_dev /开头的参数时出错:响应状态代码不表示成功:404(未找到)。
当我使用Microsoft.AspNetCore.DataProtection.EntityFrameworkCore之类的替代软件包时。数据保护代码在两台服务器上都能正常工作。
这是我在Startup.cs> ConfigureServices中的设置代码
services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
services.AddDataProtection().PersistKeysToAWSSystemsManager(Configuration["AwsKeyPath"]);
这是appsettings.json
"AWS": {
"Profile": "asp_api",
"Region": "us-east-1"
},
"AwsKeyPath": "/asp_dataprotection_dev/",
我验证了两台服务器上的AWS凭证/配置文件均已正确设置。
我还清除了所有cookie并在进行更改时使用了专用窗口,以确保它不是旧的cookie问题。
有什么想法吗?