首頁  >  文章  >  web前端  >  如何在 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 OPTION7 處理HTTPTIONS請求。若要允許您的應用程式處理這些要求,請在IIS 管理員中修改「OPTIONSVerbHandler」的協定支援模組:

    • 導覽至網站的處理程序對應
    • 向下捲動到「OPTIONSVerbHandler」 '
    • 將'ProtocolSupportModule' 更改為'IsapiHandler'
    • 設定可執行檔:%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll >
  3. 或者,在程式碼中回應HTTP OPTIONS:
  4. 將以下程式碼新增至應用程式中的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>
  5. 透過依照下列步驟,您可以在IIS 7 上啟用CORS 並允許應用程式中的跨網域資源共用。

以上是如何在 IIS 7 上啟用跨域資源共享?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn