首页 > 其他分享 >让IIS支持.NET Web Api PUT和DELETE请求

让IIS支持.NET Web Api PUT和DELETE请求

时间:2023-07-03 22:37:03浏览次数:34  
标签:Web 请求 IIS WebDAVModule Api PUT DELETE

前言

    有很长一段时间没有使用过IIS来托管应用了,今天用IIS来托管一个比较老的.NET Fx4.6的项目。发布到线上后居然一直调用不同本地却一直是正常的,关键是POST和GET请求都是正常的,只有PUT和DELETE请求是有问题的。经过一番思考忽然想起来了IIS默认情况下拒绝处理PUT和DELETE请求,要支持这两种请求的话需要做一些配置。

HTTP请求 405错误 方法不被允许 (Method Not Allowed)

图片

为什么IIS拒绝处理PUT和Delete请求?

  1. IIS默认情况下拒绝处理PUT和DELETE请求的原因是出于安全考虑。PUT和DELETE方法被设计为具有写入和删除数据的能力,如果未正确配置和保护,可能会导致潜在的安全漏洞。
  2. 针对这些HTTP方法,微软开发了WebDAV(Web-based Distributed Authoring and Versioning)扩展,它允许用户在Web服务器上直接编辑和管理文件。IIS默认注册了一个名为"WebDAVModule"的自定义HttpModule,用于提供WebDAV支持。

为了防止未经授权的访问和潜在的攻击,IIS默认情况下仅允许GET和POST请求,并拒绝处理PUT和DELETE请求。这样可确保服务器上的文件只能通过受限的方法进行修改和删除。

直接到IIS模块中删除WebDAVModule[不起效果]

图片

图片

在应用程序的Web.config配置如下代码[有用]

作用是移除 IIS 中的 "WebDAVModule" 模块,并允许所有请求运行托管模块。这个配置适用于需要使用 PUT 和 DELETE 请求的应用程序或需要托管模块对所有请求进行处理的情况。在实际应用中,请根据需要和安全性考虑进行评估和使用。

<configuration>
 <system.webServer>
   <modules runAllManagedModulesForAllRequests="true">
     <remove name="webDAVModule"/>
   </modules>
 <system.webServer>
</configuration>

 

标签:Web,请求,IIS,WebDAVModule,Api,PUT,DELETE
From: https://www.cnblogs.com/Can-daydayup/p/17524308.html

相关文章

  • Python web 框架对比:Flask vs Django
    哈喽大家好,我是咸鱼今天我们从几个方面来比较一些现在流行的两个pythonweb框架——Flask和Django,突出它们的主要特性、优缺点和简单案例到最后,大家将更好地了解哪个框架更适合自己的特定需求参考链接:https://djangocentral.com/flask-vs-django-selecting-the-perfect-pyt......
  • Eolink 全新一代「AI+API」协作管理平台,大模型驱动打造 API 研发管理与自动化测试!
    行业首发!Eolink全新一代「AI+API」协作管理平台,实现「AI+API」结合,大模型驱动打造API研发管理与自动化测试全新体验。Eolink「AI+API」为API带来什么?输入语义化指令即可生成API文档内容;在API文档测试页中可一键生成测试请求数据;可实现圈定API文档范围智能生......
  • 什么是SPI,和API有啥区别
    SPI代表服务提供者接口(ServiceProviderInterface),是一种Java编程语言的编程规范。它定义了一组接口或类的规范,供第三方开发人员实现,以向应用程序提供特定的服务或功能。SPI侧重于接口的定义和实现者的开发。API代表应用程序编程接口(ApplicationProgrammingInterface),是一组预定......
  • 「API 生态」Eolink 与 API7 达成战略合作,共同打造 API 治理解决方案
    在当今竞争激烈的市场环境中,企业不断地向数字化转型迈进,API已经成为数字化转型中不可或缺的一环。如何统筹规划、管理保护API早已成为企业研发团队的核心挑战。Eolink和API7支流科技作为国内领先的专业厂商,一直引领着API管理及应用安全领域的发展。面对企业API管理......
  • 记录一个boost1.72和Win32api的冲突
    报错:2>C:\ProgramFiles(x86)\WindowsKits\10\Include\10.0.19041.0\um\fileapi.h(53,1):errorC2116:'boost::interprocess::winapi::CreateDirectoryA':functionparameterlistsdonotmatchbetweendeclarations2>D:\software\boost_1_7......
  • 快手根据ID取商品详情 API 返回值说明
    item_get-根据ID取商品详情公共参数请求地址: https://o0b.cn/anzexi名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]ca......
  • Apisix-linux下的内网安装
    1.背景一般测试环境都是没有外网的,apisix官网写了安装方式,但是感觉描述的并不好,结合自己的实际体验整理了下。APISIX-官网APISIX-GitHub2.离线安装假设现在有两台相同的机器我刚开始没注意到这个问题,A机是centos8,B机是centos7,下载后的rpm文件在B机上就用不了了。A机:拥有......
  • word文档的图片怎么保存到eWebEditor上
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • 深入了解API接口调用——从获取淘宝商品数据开始
     API(ApplicationProgrammingInterface)是现代软件开发中常用的一种技术,它允许不同的软件系统进行交互和通信。在本文中,我们将深入探讨如何通过API接口来获取淘宝商品数据。这是一个常见的需求,无论是对于商家还是开发者,都有着重要的意义。第一部分:API接口概述在开始之前,我们首......
  • solidworks api ch02
    openSolidWorks.Interop.sldworksletcmdConnect(swApp:ISldWorks)=swApp.SendMsgToUser$"RevisionNumber:{swApp.RevisionNumber}"swApp.DisplayStatusBartrueswApp.SendMsgToUser$"DisplayStatusBarOk!"letla......