Cross-Origin Resource Sharing

Cette page aide à vérifier la propagation des en-têtes Access-Control-* à travers le reverse proxy. Utilisez-la pour contrôler à la fois les requêtes simples, les pré-vols OPTIONS et la cohérence des origines.

Origin détecté : aucun (même origine)
Pré-vol demandé : non
Headers demandés : non précisé

Check-list recommandée

  1. Exécuter un curl avec Origin personnalisé pour vérifier que l'en-tête Access-Control-Allow-Origin est transmis.
  2. Effectuer une requête OPTIONS (pré-vol) via le proxy et vérifier la présence de Access-Control-Allow-Methods et Access-Control-Allow-Headers.
  3. Confirmer qu'en l'absence de configuration, la réponse ne contient pas d'en-têtes CORS (comportement strict).
  4. Tester une réponse "open" (*) puis une réponse "credentials" (qui reflète l'origine et autorise les cookies) pour observer la différence.
  5. Contrôler que le proxy ne duplique pas ni ne supprime les en-têtes, et qu'une seule origine est retournée.

Tests interactifs

Déclenchez ci-dessous des requêtes vers cors-test.php. Les entêtes affichés correspondent à la réponse serveur, utiles pour valider la configuration.

Cliquez sur un bouton pour lancer un test.

Commandes utiles

Adapter https://votre-domaine selon votre reverse proxy.

curl -i \
  -H "Origin: https://demo-client.example" \
  https://votre-domaine/cors-test.php?policy=open

curl -i -X OPTIONS \
  -H "Origin: https://demo-client.example" \
  -H "Access-Control-Request-Method: POST" \
  -H "Access-Control-Request-Headers: Content-Type" \
  https://votre-domaine/cors-test.php?policy=credentials

curl -i \
  -H "Origin: https://demo-client.example" \
  https://votre-domaine/cors-test.php?policy=strict

Attendez-vous à ce que l'accès strict renvoie une erreur CORS côté navigateur, tandis que les policies open et credentials doivent réussir selon votre configuration.