在将更新发布到Azure Web应用程序服务后,为什么会出现HttpAntiForgeryException?

时间:2019-01-30 14:31:50

标签: azure azure-web-app-service

我们发布了针对同一Azure Web应用服务的应用程序更新,并开始出现错误:

  

异常:System.Web.Mvc.HttpAntiForgeryException(0x80004005):无法解密防伪令牌。如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且确保配置指定了显式加密和验证密钥。自动生成不能在群集中使用。

使用应用程序内登录页面的客户端会发生这种情况。这些是响应头:

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 5585
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.2
X-Frame-Options: SAMEORIGIN
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 30 Jan 2019 14:23:33 GMT

客户端必须关闭浏览器,然后重新打开或清除浏览器的cookie才能解决问题。

在升级前后,该Web应用程序正在运行3个应用程序服务实例。 ARR Affinity已启用。

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:0)

看看这个answer。由于此问题才刚刚开始发生,因此请确认您在两个访问者之间没有无意间致电@Html.AntiForgeryToken()