首頁 > web前端 > js教程 > 為什麼在 IIS7 上啟用 CORS 時收到 405 Method Not allowed 回應?

為什麼在 IIS7 上啟用 CORS 時收到 405 Method Not allowed 回應?

DDD
發布: 2024-10-26 19:58:30
原創
1098 人瀏覽過

Why Am I Getting a 405 Method Not Allowed Response When Enabling CORS on IIS7?

在IIS7 上啟用跨域資源共享(CORS)

在IIS7 上啟用CORS 可能是一項艱鉅的任務,尤其是當您遇到意外情況時行為,例如200 回應之前的405 回應。本文旨在闡明這個問題並提供有效的解決方案。

解決 405 回應

當 IIS7 攔截 HTTP OPTIONS 時,可能會出現 405 Method Not allowed 回應請求而不是您的應用程式。若要解決此問題:

  1. 導覽至 IIS7 中的「處理程序對應」部分。
  2. 找到「OPTIONSVerbHandler」條目。
  3. 將「ProtocolSupportModule」設定變更為「IsapiHandler」 ."
  4. 將執行檔設定為「%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll。 ”

替代解決方案:處理BeginRequest 中的OPTIONS 動詞

如果上述步驟無法解決問題,您可以在BeginRequest 方法中處理HTTPTIONS OPTION如下圖所示:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {
        // Pre-flight OPTIONS call
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
        HttpContext.Current.Response.End();
    }
}
登入後複製

以上是為什麼在 IIS7 上啟用 CORS 時收到 405 Method Not allowed 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板