/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

IIS ARR设置错误引发HTTP 400.605 The request cannot be routed

2016-12-21 十有三 0 浏览:1万+ 网站建设运维 网站维护 | 服务器

如果网站设置ARR引发了HTTP 400.605错误代码,一般都是IIS上服务器级别的URL重写语法错误,可以通过禁用或者修改对应的URL重写规则来测试网站能否恢复正常。其实仔细查阅错误信息,不难看出问题的源头在于URL重写语法错误,导致请求不断递归相同的路由!

PS:本文需要对ARR有一定的基础和了解。
 

先贴下错误信息和截图:

HTTP 错误 400.605 - Bad Request

The request cannot be routed because it has reached the Max-Forwards limit. The server may be self-referencing itself in request routing topology.

可尝试的操作:

创建跟踪规则以跟踪此 HTTP 状态代码的失败请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。

详细错误信息:

模块 ApplicationRequestRouting

通知 MapRequestHandler

处理程序 ApplicationRequestRoutingHandler

错误代码 0x00000000

详细信息

由于语法错误,服务器无法理解此请求。

HTTP错误400.605-Bad Request 截图

ApplicationRequestRouting模块详细错误信息截图

注意上图中红框部分,再对错误信息进行分析,已经可以确定问题来源是ARR模块请求异常导致,主要是URL重写规则的语法错误,才会引发这个400.605错误。建议采用排除法,先禁用所有ARR规则,逐步排查找出有语法问题的规则。

我遇到的情况如下:有一个要进行ARR重写操作的URL,由于设置错误,原本的主机头/IP地址与重写的URL一模一样,端口也一样,结果设置后网站立即引发HTTP 400.605错误。我猜测是由于递归请求相同的路由才引发的,因为ARR是属于服务器级别的URL重写,所以一定要留意重写的URL不能与原本的URL重复(端口和IP地址特别留意)。如果需要操作相同的IP/端口/域名,直接使用网站级别的重写操作即可。

出于某些谨慎的考虑,可以在重写条件加入过滤,例如排除自身的端口号之类的,等于多加了一层保险:

过滤并排除端口

官方资料对400.605的描述是最大转发数量超出限制,其实我自己也不太明白具体的意思:

官方400.605错误说明截图

官方400.605错误说明截图-英文版

总之对于应用程序请求路由,还是有待深入研究。


作者:十有三

出处:https://shiyousan.com/post/636179381444025389

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: ChinaPay.dll 64位系统导致应用程序池崩溃,异常代码: 0xc0000005
  • 下一篇: 总结IIS中使用ARR一些要注意的地方和经验-例如遇到重写规则无效的情况

相关文章
  • 解决阿里云负载均衡网站打不开的问题-域名解析后IP无法ping通
  • 解决bootstrap框架中Glyphicons字体图标无法显示
  • IIS ARR设置错误引发HTTP 400.605 The request cannot be routed
  • 解决64位系统IIS网站发布出现未能加载文件或程序集“...”或它的某一个依赖项。试图加载格式不正确的程序。
  • 网站用户体验优化之数值显示
  • 为什么谷歌adsense广告位会展示百度联盟的广告

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • C#解决IIS域名批量绑定
  • ASP.NET MVC:此请求的查询字符串的长度超过配置的maxQueryStringLength值
  • 解决Windows Server 2012 R2 百度网盘无法打开提示丢失Wlanapi.dll
  • 记录下最近onenote的无法同步问题(错误0xA0000014和0xE4010641)
  • 如何在ASP.NET的web.config配置文件中添加MIME类型

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号