405 - 不允许用于访问此页面的 HTTP 动词。 [IIS 8.5] [Windows Server 2012 R2]

Posted

技术标签:

【中文标题】405 - 不允许用于访问此页面的 HTTP 动词。 [IIS 8.5] [Windows Server 2012 R2]【英文标题】:405 - HTTP verb used to access this page is not allowed. [IIS 8.5] [Windows Server 2012 R2] 【发布时间】:2017-01-19 14:52:45 【问题描述】:

我有一个新的 iis 服务器,有一段时间我正在寻找错误的解决方案:

405 - 不允许用于访问此页面的 HTTP 动词。你的页面 由于方法无效(HTTP 动词)用于尝试访问。

我见过以下解决方案: 1.

 <system.webServer>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
    <handlers>
        <remove name="WebDAV" />
    </handlers>
</system.webServer>

2.IIS设置http://www.somacon.com/p126.php

解决方案 1,导致内部服务器错误,后来无法找到解决方案。 解决方案 2,我无法在 iis 8.5 中找到属性窗口,因此无法尝试相同的方法。

请帮忙

【问题讨论】:

一样吗? ***.com/questions/3523061/… @Aristos,是的问题和我的一样。在寻找答案时,甚至这个问题也挡住了我的路。我认为 Windows Server 版本 + IIS 8 的更改在搜索 iis 设置时会造成一些混乱。刚才我已经从同一个设置窗口启用了 wcf 服务。 要通过 web.config 删除模块,您必须先在 IIS 管理器中同时unlock the module and unlock the <modules> section。 我遇到了这个 405 问题,这个解决方案 1 在 ASP .NET Core 2.1 上对我有用 【参考方案1】:

我的一位同事帮助了我。我错过了一些主要的 iis 功能。

转到添加角色和功能向导,然后 Web 服务器 (IIS)> Web 服务器 > 应用程序开发 > 选择 ASP.net 3.5 和 Asp.net 4.5 并单击安装。

转到 cmd 提示符和 iisreset。

对于 WCF 服务,请查看 WCF Services 下的 Http Activation。

希望这可以帮助您并节省您的时间。

【讨论】:

【参考方案2】:

在尝试第一个解决方案时,我也遇到了相同的内部服务器错误,如 HTTP 405 error with Web API 所述。因为我什至没有使用 WebDAV,所以我选择将它完全从 IIS 中删除(见下面的截图)。在要求重新启动服务器后,问题得到解决。

【讨论】:

【参考方案3】:

这已经晚了,但可能会帮助其他一些人。 我的应用程序是 WEB-API dotnet Core 在本地服务器上部署时面临同样的问题,通过执行以下步骤解决此问题。

<system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
        <remove name="WebDAVModule"/>
        <!-- add this -->
      </modules>
      <handlers>
                <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
                <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
                <remove name="TRACEVerbHandler" />
                <remove name="OPTIONSVerbHandler" />
                <remove name="WebDAV" />
                <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
                <add name="aspNetCore" path="*" verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
                <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."  verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"  type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
                <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*."  verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"  modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
                <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*."  verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"  modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      </handlers>

【讨论】:

以上是关于405 - 不允许用于访问此页面的 HTTP 动词。 [IIS 8.5] [Windows Server 2012 R2]的主要内容,如果未能解决你的问题,请参考以下文章

405 - 不允许用于访问此页面的 HTTP 动词。 [IIS 8.5] [Windows Server 2012 R2]

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

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

405 HTTP 错误 - PHP POST

WebApi PUTDELETE请求时出现405 - 不允许用于访问此页的 HTTP 谓词。

Web Api GET 动词 405 不允许