Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum gibt IIS7 beim Aktivieren von CORS den Fehler „405-Methode nicht zulässig' zurück?

Linda Hamilton
Freigeben: 2024-10-28 19:52:02
Original
995 Leute haben es durchsucht

Why Does IIS7 Return a 405 Method Not Allowed Error When Enabling CORS?

Aktivieren der ursprungsübergreifenden Ressourcenfreigabe auf IIS7

Die Aktivierung der ursprungsübergreifenden Ressourcenfreigabe (CORS) auf IIS7 ist erforderlich, um asynchrone Ressourcenanforderungen zu ermöglichen über verschiedene Ursprünge hinweg erstellt werden, wodurch Browser-Sicherheitsbeschränkungen überwunden werden. Es können jedoch Probleme auftreten, wenn IIS7 vor einer erfolgreichen 200-Antwort den Fehler „405-Methode nicht zulässig“ zurückgibt.

Beheben des Fehlers „405-Methode nicht zulässig“

Der Fehler 405 ist normalerweise der Fall tritt auf, weil IIS7 die HTTP-OPTIONS-Antwort verarbeitet, die der eigentlichen Anforderung vorausgeht, anstatt sie an Ihre Anwendung weiterzuleiten. Um dies zu korrigieren:

  1. Navigieren Sie zu den Handler-Zuordnungen Ihrer Site in IIS7.
  2. Suchen Sie den Eintrag „OPTIONSVerbHandler“ und doppelklicken Sie darauf.
  3. Ändern Sie das „ProtocolSupportModule“ zu „IsapiHandler“.
  4. Setzen Sie den ausführbaren Pfad auf:
    %windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll.

Mit diesen Änderungen leitet IIS7 das HTTP weiter OPTIONS-Verb für Ihre Anwendung.

Alternative Lösung: Umgang mit dem OPTIONS-Verb in BeginRequest

Alternativ können Sie das HTTP-OPTIONS-Verb manuell in der BeginRequest-Methode Ihrer Anwendung verarbeiten:

<code class="c#">protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {
        // Handle HTTP OPTIONS pre-flight request
        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

Durch die Implementierung eines dieser Ansätze können Sie CORS auf IIS7 aktivieren und den 405-Fehler beheben, um erfolgreiche Cross-Origin-Anfragen sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum gibt IIS7 beim Aktivieren von CORS den Fehler „405-Methode nicht zulässig' zurück?. 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!