IIS發布-HTTP謂詞限制訪問


    一個WebAPI項目(.net core 2.2),利用Swagger UI方便測試。API中涉及到一些基本操作,如Student的CRUD,分別對應了HttpGet, HttpPost, HttpPut, HttpDelete四種HttpMethod。]

在開發環境中使用VS自帶的IIS來host程序,四個方法全部通過了測試。打包發布在同一台機器上的IIS(Version 10.0.17134.1),交付給前端小伙伴進行測試。前面的Get方法可以正常訪問,直到PUT,Delete方法,返回結果為405。百度得知405狀態碼為 用來訪問本頁面的 HTTP 謂詞不被允許(方法不被允許)。

  在IIS的 處理程序映射 下有這樣一個東東WebDAVModule。雙擊打開,點擊下面的 請求限制可以發現這里可以配置IIS允許通過的謂詞。將其更改為允許全部謂詞,測試仍不通過。

解決方式為:

web.config中添加

<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule"/>
</modules>
成功。
 
相關內容:
IIS下的  處理程序映射 的作用描述是:使用此功能處理特定請求類型的響應資源,如DLL和托管代碼。由此可知WebDAVModule也是處理相關內容的,但是具體是做什么的呢?
在網上只找到了IIS7下的WebDAV作用的描述, 詳細內容在這里。(如果有更及時的文檔麻煩留言回復一下,感激不盡)
簡單的說 
WebDAV是Web分布式創作和版本控制的簡稱,它是HTTP協議的開放標准擴展,可通過Internet進行文件管理。除了通常的類文件系統操作(復制,移動,刪除等)之外,WebDAV還添加了靈活的屬性機制(基於名稱/值對)和資源鎖定。WebDAV是Microsoft Web發布故事中的關鍵組件,由WebDAV重定向器,Web文件夾,SMS / SCCM和許多其他組件使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM