Configurer les En-tetes CORS

Generez des configurations Cross-Origin Resource Sharing pour Express.js, Nginx, Apache, Fetch API, Spring Boot, Django et Laravel.

Creez et configurez des en-tetes CORS visuellement avec un editeur interactif. Definissez les origines autorisees, les methodes, les en-tetes, les identifiants et la duree maximale; puis exportez des configurations pretes a l'emploi pour Express.js, Nginx, Apache, Fetch API, Spring Boot, Django et Laravel. Tout le traitement se fait dans votre navigateur.

Loading...
Vos données restent dans votre navigateur
Cet outil vous a-t-il été utile ?
Tutoriel

Comment configurer les en-tetes CORS

1
1

Definir les origines autorisees

Specifiez quels domaines peuvent acceder a votre API en ajoutant des URL d'origine ou en utilisant un joker pour un acces ouvert.

2
2

Selectionner les methodes et en-tetes

Choisissez quelles methodes HTTP comme GET, POST ou PUT sont autorisees, et definissez les en-tetes personnalises acceptes par votre API.

3
3

Exporter la configuration

Basculez entre les onglets de sortie pour copier la configuration CORS pour votre framework serveur ou proxy inverse.

Guide

Guide complet de la configuration CORS

Pourquoi CORS existe dans le navigateur

Les navigateurs appliquent la politique de meme origine pour empecher les sites malveillants de lire des donnees sensibles d'autres domaines. CORS assouplit cette restriction de maniere controlee en permettant aux serveurs de declarer quelles origines, methodes et en-tetes sont autorises. Sans en-tetes CORS, toute requete fetch ou XMLHttpRequest cross-origin sera bloquee, meme si le serveur a traite la requete avec succes.

Comprendre les en-tetes CORS

L'en-tete Access-Control-Allow-Origin specifie les origines de confiance. Access-Control-Allow-Methods liste les methodes HTTP autorisees comme GET, POST et DELETE. Access-Control-Allow-Headers declare quels en-tetes de requete personnalises sont acceptes. Access-Control-Expose-Headers controle quels en-tetes de reponse le navigateur peut lire, et Access-Control-Max-Age met en cache les resultats preflight pour reduire la latence.

Requetes simples vs preflight

Les requetes simples utilisent GET, HEAD ou POST avec des types de contenu standard et sautent l'etape preflight. Toute requete utilisant d'autres methodes, des en-tetes personnalises ou des types de contenu non standard declenche un appel OPTIONS preflight. Le serveur doit repondre au preflight avec les bons en-tetes CORS avant que le navigateur n'envoie la requete reelle.

Pieges courants et bonnes pratiques

Evitez d'utiliser des origines joker en production; etablissez une liste blanche de domaines specifiques. Ne combinez jamais des origines joker avec des identifiants car les navigateurs rejetteront la reponse. Definissez un Max Age raisonnable pour reduire la surcharge preflight sans mettre en cache des politiques obsoletes. Testez toujours CORS depuis l'origine reelle du client.

Examples

Exemples de configuration CORS

API Express.js pour une app React

Une SPA React a https://app.example.com doit appeler une API Express a https://api.example.com avec des tokens JWT.

1

Definir l'origine autorisee a https://app.example.com

2

Activer les methodes GET, POST, PUT, DELETE

3

Ajouter Authorization aux en-tetes autorises

4

Activer les identifiants

Access-Control-Allow-Origin: https://app.example.com; Access-Control-Allow-Methods: GET, POST, PUT, DELETE; Access-Control-Allow-Headers: Authorization; Access-Control-Allow-Credentials: true

Proxy inverse Nginx pour API publique

Une API REST publique derriere Nginx qui accepte les requetes JSON depuis toute origine.

1

Definir l'origine autorisee a *

2

Activer les methodes GET, POST, OPTIONS

3

Ajouter Content-Type aux en-tetes autorises

4

Definir la duree maximale a 86400 secondes

Access-Control-Allow-Origin: *; Access-Control-Allow-Methods: GET, POST, OPTIONS; Access-Control-Allow-Headers: Content-Type; Access-Control-Max-Age: 86400

Cas d'utilisation

Cas d'utilisation CORS

API REST publique

Definissez les origines autorisees sur joker (*) et activez les methodes GET et POST pour une API publique. Cela permet a toute application frontend de consommer vos endpoints sans restrictions, ideal pour les services de donnees ouvertes et les APIs de documentation publique.

Backend pour application SPA

Restreignez les origines autorisees au domaine de votre SPA et activez les identifiants pour l'authentification par cookies. Cela garantit que seul votre frontend peut appeler l'API tout en maintenant l'etat de session dans les requetes cross-origin de maniere securisee.

Passerelle de microservices

Configurez plusieurs origines autorisees pour les services internes derriere un proxy inverse. Definissez des methodes specifiques et des en-tetes exposes pour que chaque microservice puisse communiquer via la passerelle en bloquant les origines externes non autorisees.

Questions frequemment posees

?Qu'est-ce que CORS?

CORS est un mecanisme de securite du navigateur qui controle quels domaines externes peuvent acceder aux ressources de votre serveur via des en-tetes HTTP.

?Pourquoi ai-je des erreurs CORS?

Les navigateurs bloquent les requetes cross-origin par defaut. Vous devez configurer votre serveur pour envoyer les bons en-tetes Access-Control-Allow.

?Puis-je utiliser le joker (*) avec les identifiants?

Non. Les navigateurs rejettent les reponses combinant Access-Control-Allow-Origin: * avec des identifiants. Vous devez specifier des origines exactes.

?Qu'est-ce qu'une requete preflight?

Un preflight est une requete OPTIONS envoyee par le navigateur avant certains appels cross-origin pour verifier si le serveur autorise la requete reelle.

?Que controle Max Age?

Max Age indique aux navigateurs combien de temps mettre en cache les reponses preflight en secondes, reduisant les requetes OPTIONS repetees au meme endpoint.

?Mes donnees sont-elles privees?

Oui. Tout s'execute localement dans votre navigateur. Aucune donnee n'est envoyee a un serveur. Votre configuration CORS ne quitte jamais votre machine.

?Cet outil est-il gratuit?

Oui. Entierement gratuit sans limites, sans inscription requise. Generez autant de configurations que necessaire sans aucune restriction.

Aidez-nous à améliorer

Aimez-vous cet outil ?

Chaque outil Kitmul est construit à partir de vraies demandes d'utilisateurs. Votre note et vos suggestions nous aident à corriger des bugs, ajouter des fonctionnalités manquantes et créer les outils dont vous avez vraiment besoin.

Notez cet outil

Cliquez sur une étoile pour nous dire si cet outil vous a été utile.

Suggérez une amélioration ou signalez un bug

Une fonctionnalité manque ? Vous avez trouvé un bug ? Une idée ? Dites-le-nous et nous l'examinerons.

Outils associés

Lectures Recommandées

Livres recommandes sur la securite web et CORS

En tant que partenaire Amazon, nous percevons une commission sur les achats qualifiés.

Boostez vos Compétences

Outils de securite pour developpeurs web

En tant que partenaire Amazon, nous percevons une commission sur les achats qualifiés.

Newsletter

Recevez des Conseils Productivité et les Nouveaux Outils en Premier

Rejoignez les créateurs et développeurs qui valorisent la confidentialité. Chaque édition : nouveaux outils, astuces productivité et mises à jour — sans spam.

Accès prioritaire aux nouveaux outils
Désabonnez-vous à tout moment, sans questions