Asp.net core 负载平衡标识服务器4时未找到终结点条目

Asp.net core 负载平衡标识服务器4时未找到终结点条目,asp.net-core,nginx,https,load-balancing,identityserver4,Asp.net Core,Nginx,Https,Load Balancing,Identityserver4,我正在尝试使用docker容器设置本地nginx负载平衡ID(使用混合模型和HTTPS) 如果我将ID缩放为1,则可以成功登录 当我使用循环式平衡扩展到2或更多时,当我尝试登录时,会重定向到登录页面 初始登录尝试点击IDS1,然后登录的第二个请求部分点击IDS2,返回以下错误:未找到请求路径的端点条目:/Account/login[IdentityServer4.Hosting.EndpointRouter] 我已经验证了两个ID都已启动并正在运行,如果我点击发现文档,我可以看到nginx ro

我正在尝试使用docker容器设置本地nginx负载平衡ID(使用混合模型和HTTPS)

如果我将ID缩放为1,则可以成功登录

当我使用循环式平衡扩展到2或更多时,当我尝试登录时,会重定向到登录页面

初始登录尝试点击IDS1,然后登录的第二个请求部分点击IDS2,返回以下错误:未找到请求路径的端点条目:/Account/login[IdentityServer4.Hosting.EndpointRouter]

我已经验证了两个ID都已启动并正在运行,如果我点击发现文档,我可以看到nginx round robining它,每次我都会得到一个成功的结果


编辑:我不再收到错误,但当我尝试登录到IDS2的登录的第二个请求部分时,仍然会表现得好像我没有在登录过程中,并将我带到登录页面。

您需要配置数据保护API并在两个服务中设置相同的密钥,因为否则ASP.NET将不接受来自其他服务的Cookie。密钥用于保护和加密cookie

为了了解数据保护API,我最近编写了这个参考项目

  • 目的是演示和演示如何在Azure key Vault中存储ASP.NET核心数据保护API密钥环。(博客帖子即将发布)

阅读有关数据保护API的更多信息

有点不相关,但两个服务中是否有相同的数据保护密钥和签名密钥?@ToreNestenius这样问题的更新就不会再发生错误(我在启动时配置中更改了app.UseIdentityServer()的顺序。但其背后的真正问题仍在发生(IDS2认为您根本没有登录,并重定向回登录)。@Torenstenius关于您关于数据保护密钥的问题,我目前仅使用IdentityServer.AddSignedCredential(certificate)添加X509Certificate2,我目前没有使用.AddDataProtection()。希望我下面的答案是可以接受的答案。:-)我不得不调整使用本地文件系统而不是Azure,但是这个概念非常有效,解决了我的问题!谢谢。很高兴你修复了它!