Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie aktiviere ich Cross-Origin Resource Sharing (CORS) auf IIS7?

Mary-Kate Olsen
Freigeben: 2024-10-26 04:39:02
Original
971 Leute haben es durchsucht

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

Aktivieren von Cross-Origin Resource Sharing (CORS) auf IIS7

Cross-Origin Resource Sharing (CORS) ermöglicht die Ausführung von Webanwendungen auf verschiedenen Ursprüngen um HTTP-Anfragen aneinander zu stellen. Standardmäßig sind XHR-Anfragen an andere Domänen jedoch nicht zulässig.

CORS auf der Zieldomäne aktivieren

Um CORS auf der Zieldomäne zu aktivieren, fügen Sie die folgende benutzerdefinierte Funktion hinzu Header zur web.config-Datei:

<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>
Nach dem Login kopieren

IIS7-Konfiguration

Nachdem Sie CORS in der Zieldomäne aktiviert haben, wird möglicherweise immer noch die Antwort „405-Methode nicht zulässig“ angezeigt. Dies liegt wahrscheinlich daran, dass IIS7 die HTTP-OPTIONS-Antwort und nicht Ihre Anwendung verarbeitet.

Um dieses Problem zu beheben:

  1. Navigieren Sie zu den Handler-Zuordnungen der Site in IIS7.
  2. Suchen Sie die Zuordnung „OPTIONSVerbHandler“.
  3. Ändern Sie „ProtocolSupportModule“ in „IsapiHandler“.
  4. Setzen Sie die ausführbare Datei auf „%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll“.

Alternativ können Sie auf HTTP-OPTIONS im Code antworten

Sie können auch auf das HTTP-OPTIONS-Verb in Ihrer BeginRequest-Methode antworten:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie aktiviere ich Cross-Origin Resource Sharing (CORS) auf IIS7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!