Screenshot
这是一个内置的Django Web应用程序,托管在Windows Server 2008上,IIS 7.5,启用了Active Directory SSO。应用程序中的一些链接会以302响应。例如,如果请求是转到myapp.com/change,服务器会以302响应并重定向到myapp.com/change?user=5。在浏览器中,url字段显示myapp.com/change?user = 5,但是页面看起来就像上面的图片。如果我在URL字段上按Enter键,它就会转到正确的页面。
我曾尝试使用DevTools进行故障排除。当单击/change时,服务器响应为302,后面跟着200,没有其他内容。200是空白的,没有标题或正文,并显示“注意:请求还没有完成”。与此同时,在chrome选项卡上显示了旋转图标,这意味着它还在加载。几分钟后,200次超时,旋转停止。
在过去的几个星期里,代码没有任何变化,两天前人们开始报告这个问题。一开始我没有遇到过这个问题。我尝试过清除cookie和缓存,使用不同的浏览器和PC,无法复制它,然后昨天有一个预定的PC重启,现在我在所有的浏览器和PC上都遇到了这个问题。
我怀疑这个乱码应该是实际的页面html,以某种方式附加到对象移动页面。也许302在客户端没有正确处理。但这并不能解释为什么它以前工作。
我已经纠结了两天了。如果有人有任何想法,请告诉我,如果你需要更多的信息。谢谢。
编辑以添加:在屏幕截图中,可读的文本从“HTTP/1.1200.."开始,它实际上是下面200响应的头,不知怎么混到了302的主体中。顺便说一句,这个302对象移动页面以前从未出现过。
1条答案
按热度按时间hi3rlvi21#
这个链接里的2021年帖子对我很管用:
这显然是IIS7.5中的一个bug。以上是通过设置一个outboundRule来解决的。在我的例子中,是302出错了,所以我把201换成了302。
我仍然不知道为什么会突然这样。一定是发生了什么变化,但这种变化并不是一次发生在每个人身上。我认为这是客户端的某种更新,可能是浏览器或Windows,因为我测试的PC在预定的重启后开始发生这种变化。