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 动词在 reactjs 应用程序中不允许 iis