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

Mary-Kate Olsen
リリース: 2024-10-26 04:39:02
オリジナル
971 人が閲覧しました

How to Enable Cross-Origin Resource Sharing (CORS) on IIS7?

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

クロスオリジン リソース共有 (CORS) により、異なるオリジンで Web アプリケーションを実行できるようになります相互に HTTP リクエストを送信します。ただし、デフォルトでは、他のドメインへの XHR リクエストは許可されません。

ターゲット ドメインで CORS を有効にする

ターゲット ドメインで CORS を有効にするには、次のカスタムを追加します。ヘッダーを web.config ファイルに追加します:

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <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>
    </httpProtocol>
  </system.webServer>
</configuration></code>
ログイン後にコピー

IIS7 構成

ターゲット ドメインで CORS を有効にした後でも、405 Method Not allowed 応答が発生する場合があります。これは、IIS7 がアプリケーションの代わりに HTTP OPTIONS 応答を処理していることが原因である可能性があります。

これを解決するには:

  1. IIS7 でサイトのハンドラー マッピングに移動します。
  2. 「OPTIONSVerbHandler」マッピングを見つけます。
  3. 「ProtocolSupportModule」を「IsapiHandler」に変更します。
  4. 実行可能ファイルを「%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll」に設定します。

または、コードで HTTP OPTIONS に応答します

BeginRequest メソッドで HTTP OPTIONS 動詞に応答することもできます:

<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")
        {
            // 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>
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!