IIS Rest Api - 放置和删除请求不起作用 ERR_FAILED 403

Posted

技术标签:

【中文标题】IIS Rest Api - 放置和删除请求不起作用 ERR_FAILED 403【英文标题】:IIS Rest Api - Put And Delete requests are not working ERR_FAILED 403 【发布时间】:2021-12-19 08:37:39 【问题描述】:

我已将 asp.net core web api 应用程序部署到 contabo vps 服务器,并且我意识到 HTTP PUT 请求根本不起作用。

每个 HTTP PUT 或 HTTP DELETE 请求都显示相同的消息:

输入https://my-domain.plesk.page/api/categories/1 净::ERR_FAILED 403

我已经尝试过从 IIS 中卸载 WebDAV。 但问题仍然存在。

我也尝试过编辑 web.config 文件,它看起来像这样:

 <system.webServer>
        <modules>
         <remove name="WebDAVModule" />
        </modules>
       <handlers>
        <remove name="WebDAV" />
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\MyDemoApp.API.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
</system.webServer>

任何形式的帮助都会很棒

谢谢大家!

干杯

【问题讨论】:

如果从moduleshandlers 中删除WebDAVModule 并不能解决您的问题,请尝试1. go to IIS manager 然后2.Right click on your app 3.Edit Permission 4.Select Security 5. Select CREATOR OWNER 6.Edit7. Check Full Control9. Click OK10. Restart your app in IIS。你可以试试这个步骤。让我们知道您的反馈意见。 【参考方案1】:

&lt;system.webServer&gt;中添加以下代码

<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule"/>
</modules>

另外,你可以试试:-

<modules>
  <remove name="WebDAVModule"/>
</modules>
<handlers>
  <remove name="WebDAV" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" 
       type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

希望它能解决您的问题。

【讨论】:

尝试了所有这些。没有任何效果。

以上是关于IIS Rest Api - 放置和删除请求不起作用 ERR_FAILED 403的主要内容,如果未能解决你的问题,请参考以下文章

Azure rest api 放置 blob

Jersey REST API 请求不起作用

请求 REST POST API 在 Postman 中工作,但在 Alamofire 中不起作用

Angular:Http删除在我的rest api全栈项目中不起作用

REST API、删除请求、CORS 规范或查询错误?

REST API 设计 - 使用请求正文删除多个项目