【问题标题】:Error 405 on PUTs, "ignoreme.rastahook" in IIS logPUT 上的错误 405,IIS 日志中的“ignoreme.rastahook”
【发布时间】:2011-11-15 03:33:24
【问题描述】:

我们有一个带有 OpenRasta 的 Asp.Net 应用程序,当我们将它部署在我们的大多数 IIS (7.5) 上时,它工作正常。但是,在一个安装中,对于 PUT 请求,客户端会收到“405 Method not allowed”错误,并且日志会显示如下条目:

2011-11-15 01:18:20 192.168.0.164 PUT /myapp/ignoreme.rastahook - 80 - 192.168.0.131 AClient 405 0 0 57

ignoreme.rastahook 似乎来自 OpenRasta 在 OpenRastaModule.cs 中的重写:

HttpContext.Current.RewritePath(VirtualPathUtility.ToAppRelative("~/ignoreme.rastahook"), false);

虽然 GET 和 POST 工作正常,但不确定 HTTP 方法是否真的是造成差异的原因。关于可能发生的事情或从哪里开始调试的任何想法?我目前的猜测是工作服务器和不工作的服务器之间存在一些 IIS 配置差异。

OpenRasta 版本是 2.0.3,我们在 .net 4 上运行应用程序。

更新: Fwiw,当在我的服务器的 web.config 中将 OpenRasta 处理程序映射的 verb 属性从“*”更改为“GET,POST”时,我在日志文件也适用于 PUT,但带有 404,而不是 405,因此这似乎与上述问题不同。

更新 2 我想当我启用 WebDAV 时,我可以重现 405 / ignoreme.rastahook 问题。这将我引向 https://github.com/openrasta/openrasta-stable/wiki/Installing-OpenRasta-Under-IIS ,这表明

请注意,WebDAV 模块可能会导致 IIS 7.5 出现问题

更新 3 我验证了 WebDAV 是导致该其他服务器上问题的原因,但如果有人知道如何在不完全禁用 WebDAV 的情况下解决问题,我将不胜感激。

【问题讨论】:

    标签: openrasta


    【解决方案1】:

    您看到的问题来自 WebDAV。没有办法知道我发现在您的 web.config 中添加条目以禁用 webdav。

    这已添加到有问题的the wiki page

    【讨论】:

    • 能否请您添加您所指的 wiki 页面,该页面显示如何在 web.config 中执行此操作。我似乎找不到它 - 我试图用谷歌搜索“site:openrasta.org webdav”和“site:github.com/openrasta webdav”都没有成功。
    • 添加了链接,配置位于该页面的“PUT 405 错误”部分。
    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 2016-02-23
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2011-09-30
    • 2012-08-29
    相关资源
    最近更新 更多