.net 钥匙圈里找不到钥匙。无法验证令牌
在我的应用程序前面添加了NGNIX代理之后,identity server 4上出现了奇怪的错误.net 钥匙圈里找不到钥匙。无法验证令牌,.net,docker,identityserver4,.net,Docker,Identityserver4,在我的应用程序前面添加了NGNIX代理之后,identity server 4上出现了奇怪的错误 My.net core identity server正在端口8080的Docker容器上运行 Ngnix代理(使用)配置为将443路由到docker容器8080 在回调端点上成功进行身份验证后,它无法验证伪造令牌 奇怪的是,当.net核心应用程序启动时,整个场景都适用于我所播种的用户。但对于通过我的API创建的新API失败 感谢您的任何想法或教导。ASP.NET core发布的会话cookie
感谢您的任何想法或教导。ASP.NET core发布的会话cookie使用数据保护API进行加密 用于签署cookie的密钥存储在密钥环中。如果现在重新部署应用程序,但尚未正确配置,则会在新密钥环中发出新的加密密钥 如果无法找到用于加密cookie的密钥,则这意味着所有客户端浏览器中的现有会话cookie将无法再解密 请参阅有关此API的信息以及有关如何配置它的信息
这两者都适用于IdentityServer和客户端应用程序,因为两者都使用数据保护API,因此都需要有一个永久密钥环。重新部署容器时,除非已将密钥环放置在文件系统的某个永久卷中或以其他方式将其持久化,否则密钥环将丢失。API支持在许多地方存储密钥环,包括数据库、redis、Azure密钥库。请记住,我也尝试将密钥存储在文件系统中更新我的答案,这有帮助吗?或者这不是你的问题?我已经解决了问题,问题出在nginx代理缓冲区上。修正过()太棒了!你知道核心问题是什么吗?您的会话cookie是否太大?我的客户端请求标头大于1K字节。请指定更多信息,如引起错误或意外结果的代码行,以提高问题的清晰度。请改进问题并指定在哪个URL/页面上出现错误。发布失败url的副本也会有所帮助