ホームページ > 記事 > ウェブフロントエンド > IIS7 でクロスオリジン リソース共有 (CORS) を有効にする方法は?
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 応答を処理していることが原因である可能性があります。
これを解決するには:
または、コードで 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 サイトの他の関連記事を参照してください。