「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > IIS7 で CORS を有効にすると 405 Method Not allowed 応答が返されるのはなぜですか?

IIS7 で CORS を有効にすると 405 Method Not allowed 応答が返されるのはなぜですか?

2024 年 12 月 23 日に公開
ブラウズ:420

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

IIS7 でクロスオリジン リソース共有 (CORS) を有効にする

IIS7 で CORS を有効にするのは、特に予期しない問題が発生した場合には、困難な作業になる可能性があります。 200 応答の前の 405 応答などの動作。この記事は、この問題に光を当て、効果的な解決策を提供することを目的としています。

405 応答への対処

405 Method Not allowed 応答は、IIS7 が HTTP OPTIONS をインターセプトすると発生することがあります。アプリケーションの代わりにリクエストしてください。これを解決するには:

  1. IIS7 の [ハンドラー マッピング] セクションに移動します。
  2. 「OPTIONSVerbHandler」エントリを見つけます。
  3. 「ProtocolSupportModule」設定を「IsapiHandler」に変更します。 ."
  4. 実行可能ファイルを次のように設定します"%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll."

代替解決策: BeginRequest の OPTIONS 動詞を処理する

If上記の手順では問題は解決されません。BeginRequest メソッドの HTTP OPTIONS 動詞を次のように処理できます。以下:

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();
    }
}
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3