Iis

當 POST 到靜態文件時,IIS 發送 200 而不是 405

  • May 14, 2022

我正在嘗試部署一個靜態網路速度測試應用程序。IIS 需要表現得像This Nginx Config

一切正常,但我需要發送 200 而不是 405。執行上傳測試時。(對靜態文件的 POST 請求)

尋找 ISS 等效項,例如 Nginx “error_page 405 =200”

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <system.webServer>


       <staticContent>
           <mimeMap fileExtension=".webmanifest" mimeType="application/manifest+json" />
       <mimeMap fileExtension="." mimeType="application/octet-stream" />
       </staticContent>
 <urlCompression doStaticCompression="false" />
   <httpProtocol>
           &lt;customHeaders&gt;
               &lt;add name="Cache-Control" value="no-store, no-cache, no-transform, must-revalidate" /&gt;
           &lt;/customHeaders&gt;
       &lt;/httpProtocol&gt;
       &lt;caching enabled="false" enableKernelCache="false" /&gt;
 &lt;security&gt;
           &lt;requestFiltering&gt;
               &lt;verbs&gt;
                   &lt;add verb="POST" allowed="true" /&gt;
                   &lt;add verb="GET" allowed="true" /&gt;
               &lt;/verbs&gt;
               &lt;fileExtensions&gt;
                   &lt;add fileExtension="." allowed="true" /&gt;
               &lt;/fileExtensions&gt;
               &lt;alwaysAllowedUrls&gt;
               &lt;/alwaysAllowedUrls&gt;
       &lt;requestLimits maxAllowedContentLength="2147483647"/&gt;
           &lt;/requestFiltering&gt;
       &lt;/security&gt;
&lt;/system.webServer&gt;
&lt;/configuration&gt;

您可以嘗試使用重寫規則。match url確保根據需要更改指令:

&lt;rewrite&gt;
   &lt;rules&gt;
       &lt;rule name="customResponseCode"&gt;
           &lt;match url=".*" /&gt;
           &lt;action type="CustomResponse" statusCode="200" /&gt;
       &lt;/rule&gt;
   &lt;/rules&gt;
&lt;/rewrite&gt;

引用自:https://serverfault.com/questions/1100931