ホームページ  >  記事  >  ウェブフロントエンド  >  IIS 7 でクロスオリジン リソース共有を有効にするにはどうすればよいですか?

IIS 7 でクロスオリジン リソース共有を有効にするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 01:53:27809ブラウズ

How do I enable Cross-Origin Resource Sharing on IIS 7?

IIS 7 でのクロスオリジン リソース共有の有効化

クロスオリジン リソース共有 (CORS) は、クライアント アプリケーションがアクセスできるようにするメカニズムです。異なるドメインのリソース。デフォルトでは、ブラウザはセキュリティ上の理由からクロスオリジンリクエストを制限します。 IIS 7 で CORS を有効にするには、次の手順に従います。

  1. Web.config ファイルを構成します。

    次のカスタム ヘッダーを < に追加します。 ;httpプロトコル>セクション:

    <code class="xml"><customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
    </customHeaders></code>
  2. HTTP OPTIONS 要求の処理:

    デフォルトでは、IIS 7 は HTTP OPTIONS 要求を処理します。アプリケーションがこれらの要求を処理できるようにするには、IIS マネージャーで「OPTIONSVerbHandler」のプロトコル サポート モジュールを変更します。

    • サイトのハンドラー マッピングに移動します
    • 「OPTIONSVerbHandler」まで下にスクロールします'
    • 「ProtocolSupportModule」を「IsapiHandler」に変更します
    • 実行可能ファイルを設定します: %windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll
  3. または、コードで HTTP OPTIONS に応答します。

    アプリケーションの Application_BeginRequest メソッドに次のコードを追加します。

    <code class="csharp">protected void Application_BeginRequest(object sender, EventArgs e)
    {
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
    
        if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
        {
            // Handle "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();
        }
    }</code>

By次の手順に従って、IIS 7 で CORS を有効にし、アプリケーションでのクロスドメイン リソース共有を許可できます。

以上がIIS 7 でクロスオリジン リソース共有を有効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。