问题描述
我们正试图找出对特定端点(http 或 https)的后台请求永远无法到达 IIS 的原因.IIS 日志显示来自我们设备的其他请求,但没有来自我们的后台请求.它们确实显示在 HTTP.SYS 日志中,但没有错误代码,只是一个Request_Cancelled"
We are trying to find out why background requests to a particular endpoint (http or https) is never getting to IIS. The IIS logs show other requests from our device but none from our background requests. They do show in the HTTP.SYS logs though with no error code, just a 'Request_Cancelled'
在不同的测试环境下,这些请求确实按预期工作.因此,唯一的区别似乎是防火墙设置或我们尚未发现的内容.
Under a different environment in test these requests do work as expected. So the only differences seem to be firewall settings or something we haven't found yet.
在搜索了可能的原因后,我看到了有关可能无效的 SSL 证书的信息.我们目前没有在遇到问题的地方使用 https,并且在测试中我们已经成功地尝试了这两种方法.另一个可能的原因可能是延迟,因此我们尝试为测试中的所有请求添加 10 秒延迟,这也按预期工作.
Having searched for possible causes I have seen information about possible invalid SSL certificates. We current don't use https for where we are experiencing the issue, and in test we have tried both successfully. Another possible cause may have been latency, so we tried adding a 10 second delay to all requests in test and this also worked as expected.
此错误的其他原因可能是什么,并阻止了对 IIS 的请求?
What could other causes of this error be, and preventing a request to IIS?
推荐答案
我认为找到取消请求的根本原因有点困难.您可以尝试捕获和分析 http.sys etl 日志.
I think its a bit difficult to find the root cause for Request cancelled.You could try to capture and analyze http.sys etl log.
如何捕获 http.sys etl 日志.
How to capture http.sys etl log.
以管理员身份运行 CMD.EXE
run CMD.EXE with administrator
使用 cd c:\etl 找到您要放置 etl 日志的文件夹
use cd c:\etl to locate your folder that you want to place etl log
运行 logman start httptrace -p Microsoft-Windows-HttpService 0xFFFF -o httptrace.etl -ets
尝试重现问题
使用命令 logman stop httptrace -ets
如何分析这些日志.
1.下载并安装MS网络监视器:https://www.microsoft.com/en-us/下载/details.aspx?id=4865
1.Download and install MS network monitor:https://www.microsoft.com/en-us/download/details.aspx?id=4865
2.用网络监视器打开etl日志
2.Open the etl log with network monitor
3.选择解析器配置文件->网络监控解析器->右上角的窗口
3.Select Parser Profiles->network monitor parser->Windows on upper right corner
4.那么当你从IOS访问端点时,你应该能够看到发生的所有事件.
4.Then you should be able all events happened when you access the endpoint from IOS.
因为我们找不到很多关于如何解决 request_cancelled 错误的文档.也许分析 http.sys etl 会是一个好的开始
Since we can't find much document about how to troubleshooting request_cancelled error. Maybe analyze http.sys etl would be a good beginning
这篇关于从 iOS 设备获取 %windir%\System32\LogFiles\HTTPERR 中的“Request_Cancelled"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!