IIS7 でクロスオリジン リソース共有 (CORS) を有効にする方法: ステップバイステップ ガイド

Susan Sarandon
リリース: 2024-10-27 02:07:30
オリジナル
598 人が閲覧しました

How to Enable Cross-Origin Resource Sharing (CORS) on IIS7: A Step-by-Step Guide

IIS7 でのクロスオリジン リソース共有の有効化: 総合ガイド

概要

クロス-Origin Resource Sharing (CORS) により、あるドメインのリソースを別のオリジンのアプリケーションで取得して利用できるようになります。 IIS7 で CORS を有効にするには、次の手順に従います。

構成

  1. カスタム ヘッダーの追加:

    • ホスティング ドメインの web.config ファイルに移動します。
    • 内に次のカスタム ヘッダーを追加します。セクション:
    <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>
    ログイン後にコピー

トラブルシューティング

設定にもかかわらず、依然として 405 応答を受信する場合は、次のことが原因である可能性があります。 IIS7 による HTTP OPTIONS の処理。

オプション 1: IIS7 ハンドラー マッピングを変更する

  1. IIS マネージャーを開きます。
  2. ハンドラー マッピングに移動します。
  3. 「OPTIONSVerbHandler」を見つけます。
  4. 「ProtocolSupportModule」を「IsapiHandler」に変更します。
  5. 実行可能ファイルを次のように設定します。

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
    ログイン後にコピー

オプション 2: コードで OPTIONS 動詞を処理する

  1. アプリケーション コードで BeginRequest メソッドをオーバーライドします:

    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 from browser
            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 を有効にするには、構成の更新と潜在的なトラブルシューティングの両方が必要です。上記の手順に従うことで、自信を持ってクロスオリジン インタラクションを強化できます。

以上がIIS7 でクロスオリジン リソース共有 (CORS) を有効にする方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート