Maison  >  Article  >  interface Web  >  Pourquoi est-ce que je reçois une réponse 405 Méthode non autorisée lors de l'activation de CORS sur IIS7 ?

Pourquoi est-ce que je reçois une réponse 405 Méthode non autorisée lors de l'activation de CORS sur IIS7 ?

DDD
DDDoriginal
2024-10-26 19:58:30968parcourir

Why Am I Getting a 405 Method Not Allowed Response When Enabling CORS on IIS7?

Activer le partage de ressources d'origine croisée (CORS) sur IIS7

L'activation de CORS sur IIS7 peut être une tâche ardue, surtout si vous rencontrez des problèmes inattendus. comportement tel que la réponse 405 avant la réponse 200. Cet article vise à faire la lumière sur ce problème et à fournir des solutions efficaces.

Réponse à la réponse 405

La réponse 405 Méthode non autorisée peut se produire lorsque IIS7 intercepte les OPTIONS HTTP demande au lieu de votre candidature. Pour résoudre ce problème :

  1. Accédez à la section Handler Mappings dans IIS7.
  2. Localisez l'entrée "OPTIONSVerbHandler".
  3. Modifiez le paramètre "ProtocolSupportModule" sur "IsapiHandler ."
  4. Définissez l'exécutable sur "%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll."

Solution alternative : gestion du verbe OPTIONS dans BeginRequest

Si les étapes ci-dessus ne résolvent pas le problème, vous pouvez gérer le verbe HTTP OPTIONS dans votre méthode BeginRequest comme suit :

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();
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn