Maison  >  Article  >  interface Web  >  Comment activer le partage de ressources cross-origine (CORS) sur IIS7 : un guide étape par étape

Comment activer le partage de ressources cross-origine (CORS) sur IIS7 : un guide étape par étape

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 02:07:30509parcourir

How to Enable Cross-Origin Resource Sharing (CORS) on IIS7: A Step-by-Step Guide

Activation du partage de ressources d'origine croisée sur IIS7 : un guide complet

Introduction

Cross -Origin Resource Sharing (CORS) permet aux ressources d'un domaine d'être récupérées et utilisées par des applications d'une origine différente. Pour activer CORS sur IIS7, suivez ces étapes :

Configuration

  1. Ajouter des en-têtes personnalisés :

    • Accédez au fichier web.config du domaine d'hébergement.
    • Ajoutez les en-têtes personnalisés suivants dans le fichier section :
    <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>

Dépannage

Malgré la configuration, si vous recevez toujours une réponse 405, cela peut être dû à Gestion des OPTIONS HTTP par IIS7.

Option 1 : Modifier les mappages de gestionnaire IIS7

  1. Ouvrez le gestionnaire IIS.
  2. Accédez aux mappages de gestionnaire.
  3. Localisez "OPTIONSVerbHandler."
  4. Remplacez "ProtocolSupportModule" par "IsapiHandler."
  5. Définissez l'exécutable sur :

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

Option 2 : Gérer le verbe OPTIONS dans le code

  1. Remplacez la méthode BeginRequest dans le code de votre application :

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

Conclusion

L'activation de CORS sur IIS7 nécessite à la fois des mises à jour de configuration et un dépannage potentiel. En suivant les étapes décrites ci-dessus, vous pouvez favoriser les interactions multi-origines en toute confiance.

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