YARP Docsv2.3
Docs/Sécurité/Requêtes cross-origin (CORS)

Requêtes cross-origin (CORS)

Le proxy inverse peut traiter les requêtes cross-origin avant qu'elles ne soient transférées vers la destination

Introduction

Le proxy inverse peut traiter les requêtes cross-origin avant qu'elles ne soient transférées vers les serveurs de destination. Cela permet de réduire la charge sur les serveurs de destination et de garantir une application cohérente des stratégies dans l'ensemble de vos applications.

Comportement par défaut

Les requêtes ne seront pas automatiquement mises en correspondance pour les requêtes de pré-vérification (preflight) CORS, sauf si cela est activé dans la configuration de la route ou de l'application.

Configuration

Les stratégies CORS peuvent être spécifiées par route via RouteConfig.CorsPolicy et peuvent être liées à partir des sections Routes du fichier de configuration. Comme pour les autres propriétés de route, cette configuration peut être modifiée et rechargée sans redémarrer le proxy. Les noms de stratégie ne respectent pas la casse.

Exemple :

JSON{
   "ReverseProxy": {
      "Routes": {
          "route1" : {
             "ClusterId": "cluster1",
             "CorsPolicy": "customPolicy",
             "Match": {
                "Hosts": [ "localhost" ]
             }
          }
      },
      "Clusters": {
          "cluster1": {
             "Destinations": {
                "cluster1/destination1": {
                    "Address": "https://localhost:10001/"
                }
             }
          }
      }
             }
          }
CORS policies are an ASP.NET Core concept that the proxy utilizes. The proxy provides the
above configuration to specify a policy per route and the rest is handled by existing ASP.NET
Core CORS Middleware.
CORS policies can be configured in the application as follows:
   services.AddCors(options =>
   {
          options.AddPolicy("customPolicy", builder =>
          {
                 builder.AllowAnyOrigin();
          });
   });
Then add the CORS middleware.
   app.UseCors();
   app.MapReverseProxy();

DefaultPolicy

Spécifier la valeur default dans le paramètre CorsPolicy d'une route signifie que cette route utilisera la stratégie définie dans CorsOptions.DefaultPolicy.

Désactiver CORS

Spécifier la valeur disable dans le paramètre CorsPolicy d'une route signifie que le middleware CORS refusera les requêtes CORS.

Remarque

Cet article a été rédigé avec l'aide de l'IA. En savoir plus

Adapté de Microsoft Learn , sous licence CC BY 4.0 .