【发布时间】:2019-03-03 14:08:10
【问题描述】:
我目前在单台服务器上运行 Identity Server 4,运行良好,没有问题,除了我在 Identity Server 4 前面放置负载平衡器 (Kemp) 后,我在验证并重新路由回后收到以下错误我的应用之一。
IDX10500:签名验证失败。无法解析 SecurityKeyIdentifier:
SecurityKeyIdentifier
(
IsReadOnly = False,
Count = 1,
Clause[0] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause
)
我已经查看了位于此处 (Signature validation failed) 的堆栈溢出问题,并且我已经在负载平衡器后面的两台服务器上安装了 SSL 证书。此外,我还阅读了 Dominick 网站上关于设置公共来源的文章,我已经完成了 - 该文章位于:https://leastprivilege.com/2017/10/09/new-in-identityserver4-v2-simplified-configuration-behind-load-balancers-or-reverse-proxies/
解决上述错误/问题的下一步是什么?
提前感谢您的帮助!
【问题讨论】:
-
当您尝试登录以及重新路由时,您能否验证它正在访问哪个实例(服务器)。我感觉您还没有实现
DataProtection,因此您的服务器不是无状态的。 -
@m3n7alsnak3 - 谢谢你的回复。我已经关闭了一个实例并访问了 IDS4,因此,我确切地知道我正在访问哪个实例。我这样做是为了消除可能不好的配置。不幸的是,我在两台服务器上都遇到了相同的结果。您能否举例说明您说“DataProtection”时所指的内容?
-
只有一台服务器启动并运行时,您是否遇到相同的行为?
-
@m3n7alsnak3 - 是的,我是。
-
这有点奇怪,但无论如何 - 尝试实现 DataProtection。在下面检查我的答案。
标签: asp.net load-balancing identityserver4