什么可能导致 IIS 接收 HTTP 动词“2GET”

Posted

技术标签:

【中文标题】什么可能导致 IIS 接收 HTTP 动词“2GET”【英文标题】:What can be causing IIS to receive the HTTP verb "2GET" 【发布时间】:2010-10-05 10:50:22 【问题描述】:

我有一个用户在单击我的应用程序中的链接时间歇性地收到 HTTP 405。就我所见,链接没有什么好笑的......

<a id="ctl00_ctlNavigationMenu_viewTransfersLink" href="Navigate.ashx?target=6">- View Transfers</a>

正如我所说,大多数情况下链接都会成功执行。但是,用户偶尔会遇到:

405 - 不允许用于访问此页面的 HTTP 动词。

当我检查 IIS 日志时,我可以看到以下条目:

2009-02-04 15:12:50 192.168.202.204 2GET /Navigate.ashx target=6 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 13203

这似乎是在报告用户的浏览器已使用动词 2GET 提交了请求。这怎么可能?

查看我们测试服务器上的日志,我可以看到这个问题的其他几个实例:

2008-11-06 13:30:10 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 109
2008-11-06 13:31:44 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 62
2008-11-06 13:37:20 192.168.202.204 2GET /Content/Css/datepicker.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 109
2008-11-06 14:06:00 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 125
2008-11-06 16:30:42 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 406
2008-11-07 11:01:07 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 406
2008-11-10 11:27:31 192.168.202.204 2GET /Content/Css/origo_advanced_horiz.css - 80 - 192.168.202.190 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322) 405 0 1 46
2009-02-03 12:00:38 192.168.202.204 2GET /Navigate.ashx target=6 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 13438
2009-02-03 12:00:49 192.168.202.204 2GET /Navigate.ashx target=6 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 1593
2009-02-04 15:12:50 192.168.202.204 2GET /Navigate.ashx target=6 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 13203

我们在 IIS7 上运行。

有什么想法吗? 2GET 作为动词存在吗?它可以与我表单上的 UpdatePanel 相关吗?

桑迪

更新: 我得到了各种奇怪的动词:2GET、9GET、1POST、5POST...

2009-02-04 15:12:50 192.168.202.204 2GET /Navigate.ashx target=6 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 13203
2009-02-04 15:28:12 192.168.202.204 1POST /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 3171
2009-02-04 15:28:28 192.168.202.204 5POST /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 2515
2009-02-04 15:34:21 192.168.202.204 5POST /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 1828
2009-02-04 15:44:52 192.168.202.204 2GET /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 5390
2009-02-04 16:15:23 192.168.202.204 2POST /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 7781
2009-02-04 16:16:04 192.168.202.204 2GET /Navigate.ashx target=3 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 44938
2009-02-04 16:16:09 192.168.202.204 2GET /Navigate.ashx target=3 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 45876
2009-02-04 16:16:27 192.168.202.204 2GET /Content/Css/reset.css - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 4687
2009-02-04 16:16:52 192.168.202.204 9GET /Transfer/View.aspx - 80 - 192.168.202.141 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.2;+.NET+CLR+2.0.50727) 405 0 1 5468

【问题讨论】:

你好桑迪~~对不起,我和你有同样的问题......你现在解决问题了吗? 【参考方案1】:

如果您有权访问客户端计算机,请在其上运行 Wireshark 以捕获流向您的服务器的流量。您还应该在服务器上运行 Wireshark 并过滤来自该 IP 地址的流量,以排除 IIS 中的问题(不太可能。)

了解网络上发生了什么可以帮助您缩小问题所在。最有可能的是,您会看到靠近浏览器的流量看起来还不错,并且在到达服务器的途中被某些东西破坏了,但至少您可以缩小可能的嫌疑人的较小范围。

【讨论】:

【参考方案2】:

确实很奇怪。

这是否仅在一台计算机上发生? 这些请求是直接来自用户的计算机、通过代理还是通过 ISA 服务器? 是否可以选择将IEHttpHeaders 安装到有问题的浏览器上并从那里监控 HTTP 标头?

【讨论】:

【参考方案3】:

此请求格式错误 GET 请求来自浏览器端。您可以查明 IP 192.168.202.204 的错误。

不是IIS也不是你的服务器,也不是网卡(TCP有纠错)。

可能是浏览器有问题,或者那个盒子上有一些代理/防火墙拦截 http 流量。也可能是病毒。但是,正如我所见,它在客户端。

【讨论】:

以上是关于什么可能导致 IIS 接收 HTTP 动词“2GET”的主要内容,如果未能解决你的问题,请参考以下文章

405 - 用于访问此页面的 http 动词在 reactjs 应用程序中不允许 iis

405 - 不允许用于访问此页面的 HTTP 动词

IIS 7.5、Web 服务和 HTTP 405 错误

Cassini 和 IISExpress PUT/DELETE 动词导致 405 Http 代码

ASP.NET Web API - 不允许 PUT 和 DELETE 动词 - IIS 8

DELETE 动词在 iis 10 中不起作用