不允许用于访问此页面的 HTTP 谓词 Web Api IIS 7
Posted
技术标签:
【中文标题】不允许用于访问此页面的 HTTP 谓词 Web Api IIS 7【英文标题】:HTTP verb used to access this page is not allowed Web Api IIS 7 【发布时间】:2014-06-05 17:32:24 【问题描述】:我应该先声明我在 IIS 方面的经验非常有限。我正在尝试在运行 Windows Server 2008 R2 Datacenter 的 Azure 服务器上的 IIS 7.5 上部署 Web API 服务。每当我使用 Postman 发布到服务时,我都会收到“不允许用于访问此页面的 HTTP 动词”错误。通过 fiddler 查看响应标头,我在 Miscellaneous 类别下看到以下行:“Allow: GET, HEAD, OPTIONS, TRACE”。
我使用 WebDeploy 包部署了这个应用程序,并对其进行了配置,使其成为默认网站下的虚拟目录。我当前的 IIS 配置如下:
我尝试过的一些事情包括:
验证未安装 WebDAV
为默认网站和同步项目编辑了以下处理程序映射以允许所有动词:ExtensionlessUrlHandler-Integrated-4.0、ExtensionlessUrlHandler-ISAPI-4.0_32bit、ExtensionlessUrlHandler-ISAPI-4.0_64bit 和 ISAPI-dll
默认网站和同步应用程序都在设置为 .NET Framework 4.0 的 DefaultAppPool 下运行。
Sync 应用程序面向 .NET 框架 4.5
我查看了默认网站和同步应用程序的请求过滤,并确保在 HTTP 动词部分下允许使用 POST 动词。
我不知道接下来要看什么,因此非常感谢任何提示。
【问题讨论】:
serverfault.com 可能是问这个的地方 我在 *** 上注意到了很多关于这个主题的问题,所以我认为这是一个合适的地方问。不过,我发现的大部分结果都是围绕 WebDAV 展开的。 【参考方案1】:在与同事合作后,我们设法让 Web api 服务在一定程度上运行。它当前显示一条错误消息,但它是我们创建的,这意味着代码实际上正在被命中。我们必须向 IIS_APPPOOL\DefaultAppPool 用户授予数据库权限,并通过 aspnet_regiis 命令向 iis 重新注册 .net 4。
【讨论】:
以上是关于不允许用于访问此页面的 HTTP 谓词 Web Api IIS 7的主要内容,如果未能解决你的问题,请参考以下文章
405 - 不允许用于访问此页面的 HTTP 动词。 [IIS 8.5] [Windows Server 2012 R2]