【问题标题】:Cookie deleted in conditional GET request条件 GET 请求中删除的 Cookie
【发布时间】:2014-07-04 03:40:01
【问题描述】:

最近我们托管在 Azure 上的网站遇到了一个奇怪的问题。用户登录后立即未认证,当点击任意链接进入其他页面时,由于未认证,会被重定向到登录页面。不是一直发生,但是后果很严重,因为我们都不知道是什么时候发生的,没有异常记录,只是突然失去认证 昨天我在生产中遇到了这个问题,并在我使用 Fiddler 被踢出期间捕获了请求序列,并发现了一些异常:

我登录 /my-quizzes 后登陆的页面(绿色)。当我点击一个链接转到不同的页面(“/group”链接,绿色)时,我被重定向到登录页面。在我对 /my-quizzes 和 /group 的请求之间,还有一些对 javascript、图像等的其他请求。奇怪的是在突出显示的“uncheckCheckBox.png”请求中,在响应中,身份验证 cookie (.SFAUTH- XXX)和其他一些 cookie 被删除(设置为空字符串,到期日期 = 12/10/1999)。这就是对 /group 页面的后续请求未经身份验证的原因

我们的网站建立在 Sitefinity 之上,使用 ASP.NET MVC

我的问题是:

  • 在这样的图像请求中删除 cookie 是否正常?这只是一个条件GET来检查图像是否被修改,这对我来说很不寻常。但我无法解释为什么会这样
  • 关于我们如何调试这个被删除的 cookie 问题有什么建议吗?

【问题讨论】:

    标签: asp.net azure cookies fiddler sitefinity


    【解决方案1】:

    您的网站在多少个 Azure 实例上运行? 如果不止一个 - 您是否配置了 Sitefinity 负载平衡模块?

    当您单击 /Group 页面链接时,请求可能会转到您未经过身份验证的另一个 Azure 实例(例如,由于 LB 配置错误)。

    您是否定期回收应用程序池?这也可能是另一个原因。

    【讨论】:

    • 您好,非常感谢您的回复。我们在 Azure 上使用 Sitefinity,从 Sitefinity 的文档中,我们不需要配置 Sitefinity 负载平衡,因为 Sitefinity 将使用 Azure API 进行负载平衡 (sitefinity.com/documentation/documentationarticles/…)。我们禁用了应用程序池中可能影响回收的大部分设置,例如请求限制、内存限制等。但我们确实有定期回收的设置(1740 分钟,即每 29 小时)。但是会话存储使用的是 Azure 缓存,所以这种回收应该不是问题吧?
    • 是的,如果您使用的是 Azure 云服务,Sitefinity 会自动处理负载平衡。如果您在 Azure 虚拟机或网站上 - 那么这不是自动的。我认为在生产环境中定期回收应用程序池并不是一个好主意。对我来说毫无意义。
    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多