如何解决使用 iisnode 在动词 PUT 和 DELETE 的情况下重写 URL
这是对我的 previous one 的后续问题,重点是当我尝试在配置的 IIS 上为 Node.JS 应用程序调用 DELETE 或 PUT 动词时遇到 404 错误这一事实使用 iisnode 和 URL 重写如下:
<handlers>
<add name="iisnode" verb="*" path="app.js" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="my app rule" stopProcessing="true" patternSyntax="Wildcard">
<match url="*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
脚本 app.js 甚至没有被调用,url 没有被重写。
GET 和 PUT 动词没有问题(当然,我已经使用后者实现了解决方法)。
解决方法
这是由于 IIS 的请求过滤(标签 HTTP 动词)
在那里添加了缺少的动词,如下面的屏幕截图所示并解决了问题。
作为文本,直接在 system.webServer
的 web.config
内:
<security>
<requestFiltering>
<verbs>
<add verb="PUT" allowed="true" />
<add verb="DELETE" allowed="true" />
</verbs>
</requestFiltering>
</security>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。