让IIS支持.NET Web 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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/498610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网实战--入门篇之(二)环境准备

目录 一、硬件清单 二、开发工具 三、嵌入式环境搭建 四、硬件连接(断电操作) 五、服务器搭建 六、Qt开发环境搭建 一、硬件清单 巧妇难为无米之炊&#xff0c;要想学习制作这么一个净化器需要购买必要的硬件设备&#xff0c;以下是清单&#xff0c;根据链接自行采购&…

Jenkins升级中的小问题

文章目录 使用固定版本安装根据jenkins页面下载war包升级jenkins重启jenkins报错问题解决 K8s部署过程中的一些小问题 ##### Jenkins版本小插曲 ​ 在Jenkins环境进行插件安装时全部清一色飘红&#xff0c;发现是因为Jenkins版本过低导致&#xff0c;报错的位置可以找到更新je…

新零售SaaS架构:客户管理系统的应用架构设计

客户管理系统的应用架构设计 应用层定义了软件系统的应用功能&#xff0c;负责接收用户的请求&#xff0c;协调领域层能力来执行任务&#xff0c;并将结果返回给用户&#xff0c;功能模块包括&#xff1a; 客户管理&#xff1a;核心功能模块&#xff0c;负责收集和更新客户信息…

IDEA跑Java后端项目提示内存溢出

要设置几个地方&#xff0c;都试一下吧&#xff1a; 1、默认是700&#xff0c;我们设置大一点&#xff08;上次配置了这儿就解决了&#xff09; 2、 3、 4、-Xmx4g

Linux repo基本用法: 搭建自己的repo仓库[服务端]

概述 Repo的使用离不开Git, Git 和 Repo 都是版本控制工具&#xff0c;但它们在使用场景和功能上有明显区别… Git 定义&#xff1a;Git 是一个分布式的版本控制系统&#xff0c;由 Linus Torvalds 为 Linux 内核开发而设计&#xff0c;现已成为世界上最流行的版本控制软件之…

Redis 基础命令集详解

目录 一、string 类型及操作 二、hash 类型及操作 三、list 类型和操作 四、set 类型及操作 五、zset类型及操作 六、其他相关命令 一、string 类型及操作 string是最简单的类型&#xff0c;一个key对应一个value&#xff0c;string类型是二进制安全的。redis的string可以…

硬件9、常用PCB封装的直接调用

拷贝过来之前的封装&#xff08;适用于之前的项目创建过项目的&#xff0c;可以多个&#xff09; ctrlA全选&#xff0c;然后ctrlc进行全部复制 然后切换到要使用的封装库里面进行粘贴 复制 在其他库文件中粘贴 单独复制一个封装 在PCB中使用ctrlc进行复制 切换到库中&…

保理业务风险评级及尽调

企业评级的作用 对核心企业进行评级&#xff0c;是为了初步判断核心企业&#xff08;买方&#xff09;的基本状况&#xff0c;确保开展业务后核心企业&#xff08;买方&#xff09;的还款能力&#xff1b;对融资企业&#xff08;卖方&#xff09;进行评级&#xff0c;是为了判…

消息队列经典应用场景

笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。 1 异步&解耦 笔者曾经负责某电…

SIP-6002D对讲终端使用说明 SIP对讲求助终端

SIP对讲终端SIP-6002D双按键是一款采用了ARMDSP架构&#xff1b;配置了麦克风输入和扬声器输出&#xff0c;SIP-6002D带两路寻呼按键&#xff0c;可实现SIP对讲功能&#xff0c;作为SIP对讲的终端&#xff0c;主要用于银行、部门机构、调度室、化工厂、钢铁厂、矿井、风电等场所…

彩信群发为奢侈品行业带来了哪些性化体验与互动?

彩信群发作为一种创新的营销手段&#xff0c;为奢侈品行业带来了诸多个性化体验与互动的机会。以下是一些具体的体现&#xff1a; 首先&#xff0c;彩信群发为奢侈品品牌提供了丰富的创意展示空间。通过嵌入高质量的图片、短视频和音频&#xff0c;品牌可以全方位、多角度地展示…

Vue——高德地图

1.官网上需要注册并登录高德地图开放平台&#xff0c;申请密钥&#xff08;如图1&#xff09;。(高德地图官网)选择Web端&#xff0c;添加成功后&#xff0c;可以获取到&#xff08;图2&#xff09;key和密钥 2.Vue项目终端安装地图加载包 npm i amap/amap-jsapi-loader --s…

6.二叉树——3.搜索树

二叉搜索树BST的特色 左<根<右中序序列有序 二叉搜索树构造 树为空&#xff0c;新结点作为根树不空&#xff0c;新结点与树根比大小 大往右走&#xff0c;小往左走 新结点插入空位 例题 代码 #include <cstdio> #include <string> #include <map>…

目标检测——交通专用车辆数据集

一、重要性及其意义 目标检测在交通管理领域&#xff0c;特别是在交通专用车辆数据集的构建上&#xff0c;具有显著的重要性和深远的意义。以下是对其重要性及其意义的详细探讨&#xff1a; 提升交通管理效率&#xff1a;通过精准的目标检测&#xff0c;交通管理部门可以迅速识…

regexp_substr()

1、基本语法 REGEXP_SUBSTR(String, pattern, position,occurrence, modifier) String&#xff1a;需要进行处理的字符串。 pattern&#xff1a;正则表达式。 position&#xff1a;起始位置&#xff08;从字符串的第几个开始&#xff0c;默认为1&#xff0c;注&#xff1a;…

基于springboot实现社区团购系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现社区团购系统演示 摘要 本课题是根据用户的需要以及网络的优势建立的一个社区团购系统&#xff0c;来满足用户团购的需求。 本社区团购系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于Spring Boot框架开发。在网站的整个开发过程中&…

短剧APP搭建必备技巧大揭秘

在当今数字化时代&#xff0c;随着人们对视频内容的需求不断增长&#xff0c;短剧APP成为一种备受关注的新兴形式。短剧APP提供了一个平台&#xff0c;让用户可以快速、便捷地浏览各种精彩的短剧内容&#xff0c;吸引了大批年轻用户的关注。短剧APP的搭建不仅可以满足用户对短剧…

JAVA面试八股文之集合

JAVA集合相关 集合&#xff1f;说一说Java提供的常见集合&#xff1f;hashmap的key可以为null嘛&#xff1f;hashMap线程是否安全, 如果不安全, 如何解决&#xff1f;HashSet和TreeSet&#xff1f;ArrayList底层是如何实现的&#xff1f;ArrayList listnew ArrayList(10)中的li…

Coursera自然语言处理专项课程03:Natural Language Processing with Sequence Models笔记 Week02

Natural Language Processing with Sequence Models Course Certificate 本文是https://www.coursera.org/learn/sequence-models-in-nlp 这门课程的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Natural Language Processing with Sequence ModelsWeek 02…

eclipse导入svn项目

1、配置maven和jre 2、用svn引入项目, 3一直点击next,到最后选完成。 4、从svn引入成功后&#xff0c;右键项目名点delete&#xff0c;弹窗出现的框不选&#xff0c;然后再import,点maven,点(existing maven projects)已存在maven项目&#xff0c;选择该文件等待引入完成…