Maison > interface Web > js tutoriel > le corps du texte

Comment activer le partage de ressources cross-origine (CORS) sur IIS7 ?

Mary-Kate Olsen
Libérer: 2024-10-26 04:39:02
original
971 Les gens l'ont consulté

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

Activation du partage de ressources d'origine croisée (CORS) sur IIS7

Le partage de ressources d'origine croisée (CORS) permet aux applications Web de s'exécuter sur différentes origines pour se faire des requêtes HTTP. Cependant, par défaut, les requêtes XHR vers d'autres domaines ne sont pas autorisées.

Activation de CORS sur le domaine cible

Pour activer CORS sur le domaine cible, ajoutez la personnalisation suivante en-têtes au fichier web.config :

<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>
Copier après la connexion

Configuration IIS7

Après avoir activé CORS sur le domaine cible, vous pouvez toujours rencontrer une réponse 405 Méthode non autorisée. Cela est probablement dû au fait qu'IIS7 gère la réponse HTTP OPTIONS au lieu de votre application.

Pour résoudre ce problème :

  1. Accédez aux mappages de gestionnaires du site dans IIS7.
  2. Localisez le mappage « OPTIONSVerbHandler ».
  3. Changez le « ProtocolSupportModule » en « IsapiHandler ».
  4. Définissez l'exécutable sur « %windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll ».

Vous pouvez également répondre aux OPTIONS HTTP dans le code

Vous pouvez également répondre au verbe HTTP OPTIONS dans votre méthode 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")
        {
            // 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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!