加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc C SSL握手问题? (当时:网页挂起,只清除浏览器缓存有帮助)

发布时间:2023-12-21 16:00:04 所属栏目:asp.Net 来源:DaWei
导读: 最后请看,因为我不断更新最新的调查数据.目前,我需要有关服务器端WireShark日志的帮助.

我遇到ASP.NET MVC Web应用程序的奇怪问题.很少有用户体验过表单超时和挂起,因此点击提交后它只

最后请看,因为我不断更新最新的调查数据.目前,我需要有关服务器端WireShark日志的帮助.

我遇到ASP.NET MVC Web应用程序的奇怪问题.很少有用户体验过表单超时和挂起,因此点击提交后它只会持续下去并且不会前进到下一页.奇怪的是,这是通过清除浏览器的缓存来解决的.我不明白这两件事是如何相关的.此外,用户报告它发生在FireFox 3中,但在FireFox 1.5和2.0中不会发生.我和许多用户无法在IE,任何FireFox以及Linux / Windows上重现这一点.

浏览器缓存如何以及为何会影响表单POST处理?

好的,我查看了用户和FireBug.我看到POST请求,并且在长时间超时后失败.服务器不接收请求 C 至少不是基本控制器的OnBeforeExecuting我在哪里进行日志记录,也不在IIS日志文件中.回复是空的.此外,一旦请求花了很长时间但最终执行 C 并且在服务器上我发现执行它只需要很少的时间.

据我所知,这发生在使用jQuery Form插件完成的AJAX请求上.我尝试在参数中设置cache:false,但没有成功.

实际上,我试过没有AJAX,简单提交 C 同样的.我还可以看到jQuery表单插件调用$.ajax()并返回.我看到它启动了POST请求.但我在IIS日志中没有在服务器上看到此请求,有时甚至在一分钟之后 C 有时它会在FireBug .Net窗格中中止.

有趣的是,清除FireFox缓存/ cookie /表单和发布数据有助于 C 一次尝试,下一篇文章也会挂起.

此外,请求以GUID的形式发送有关所选组件的信息.未选择组件时,它似乎正常.组件实际上是由JavaScript检查的隐藏复选框(不是在提交时,之前).这是POST数据中的“selected”参数.似乎没有选择任何组件时,它不会挂起,虽然我只试过一次,也许稍后会调查.

有这些额外信息的任何想法?

Request info: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0C) Accept: */* Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 1288 Pragma: no-cache Cache-Control: no-cache

发布数据

为了= 842f2988-abff-413C-a092-9dde00a8b9a8&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_a1d659c0-b8ec-4f91-ba2f-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_d6e1984e-227D-4bd0-b8d2- 9d3d01203a4d&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_0b7cbc1a-35f1-4db8-856b-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_0cc7ef9b-085f-4b50-ACDB-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f- 9966-9d3d01203aa5_ad273397-ed5d-49bb-b181-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_b5fbf67f-202f中-464B-a9e4-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_ae275579-8163-4f6b-9d36- 9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_73fa066c-0467-4bc6-aa91-9d3d01203a4c&安培;选择= f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_5020b52f-baa2-4aea-be10-9d3d01203a4d&安培;选择= f98c9ad8-49e0-4a9f- 9966-9d3d01203aa5_8b2cd95a-c014-4c83-9ec6-9d3d01203a4d& selected = f98c9ad8-49e0-4a9f-9966-9d3d01203aa5& submit = Add to Suite

已安装的WireShark.没有直接控制很难使用(远程用户遵循我的命令),但我可以看到,在单击提交后立即将TCP请求发送到服务器IP地址.所以浏览器会发出请求.

要求远程用户与IT /网络支持人员协作,以检查请求是否从客户端/到达服务器.

这是一个非常类似的问题,遗憾的是没有任何答案:https://stackoverflow.com/questions/3355000/my-iis-server-wont-serve-ssl-sites-to-some-browsers

这是来自服务器的WireShark日志.提交开始,然后发生一些SSL更改密码/握手(在90秒内!),然后在很长一段时间后请求最终失败.

No. Time Source Destination Protocol Info 1 0.000000 11.22.33.44 192.168.1.9 TCP [TCP segment of a reassembled PDU] 2 0.000114 11.22.33.44 192.168.1.9 TLSv1 Application Data 3 0.000394 192.168.1.9 11.22.33.44 TCP https > 50950 [ACK] Seq=1 Ack=2305 Win=64690 Len=0 4 97.611245 192.168.1.9 11.22.33.44 TCP https > 50950 [RST,ACK] Seq=1 Ack=2305 Win=0 Len=0 5 97.752530 11.22.33.44 192.168.1.9 TCP 50958 > https [SYN] Seq=0 Win=8192 Len=0 MSS=1459 WS=2 SACK_PERM=1 6 97.752612 192.168.1.9 11.22.33.44 TCP https > 50958 [SYN,ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460 WS=0 SACK_PERM=1 7 97.778024 11.22.33.44 192.168.1.9 TCP 50958 > https [ACK] Seq=1 Ack=1 Win=17508 Len=0 8 97.784462 11.22.33.44 192.168.1.9 TLSv1 Client Hello 9 97.785107 192.168.1.9 11.22.33.44 TLSv1 Server Hello,Change Cipher Spec,Encrypted Handshake Message 10 97.813970 11.22.33.44 192.168.1.9 TLSv1 Change Cipher Spec,Encrypted Handshake Message 11 97.814082 11.22.33.44 192.168.1.9 TLSv1 Application Data 12 97.814208 192.168.1.9 11.22.33.44 TCP https > 50958 [ACK] Seq=123 Ack=2555 Win=64647 Len=0 13 227.535270 192.168.1.9 11.22.33.44 TCP https > 50958 [RST,ACK] Seq=123 Ack=2555 Win=0 Len=0 解决方法 我强烈建议在服务器端和客户端使用wireshark,并查看实际发送的数据.我遇到了与此类似的奇怪错误,并且看到每个客户端和服务器之间的实际通信始终是有益的.我会从服务器端开始.捕获数据包,然后在POST上使用“follow tcp stream”.
Wireshark Download
Using Wireshark

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章