"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon application React obtient-elle une erreur CORS lors de l'accès à une API de sous-domaine : \"échec de l'accès au sous-domaine à partir du domaine principal : non \'Access-Control-Allow-Origin\'\" ?

Pourquoi mon application React obtient-elle une erreur CORS lors de l'accès à une API de sous-domaine : \"échec de l'accès au sous-domaine à partir du domaine principal : non \'Access-Control-Allow-Origin\'\" ?

Publié le 2024-12-23
Parcourir:568

Why Does My React App Get a CORS Error When Accessing a Subdomain API: \

Comprendre les erreurs CORS : 'Échec de l'accès au sous-domaine à partir du domaine principal : Non 'Access-Control-Allow-Origin''

Partage de ressources d'origine croisée (CORS) est un mécanisme qui permet à différents domaines d'interagir les uns avec les autres. Lorsqu'un serveur API s'exécute sur un sous-domaine et qu'une application React fonctionne sur le domaine principal, des erreurs CORS peuvent se produire, telles que l'erreur « Échec de l'accès au sous-domaine à partir du domaine principal : Pas d'erreur 'Access-Control-Allow-Origin'".

Enquête sur le problème

Inspectez la demande de contrôle en amont dans Chrome DevTools pour vérifier les réponses mises en cache et les demandes de contrôle en amont. Exécutez la requête de contrôle en amont à l'aide d'un outil tel que curl, en n'oubliant pas d'ajouter l'option -i pour afficher les en-têtes de réponse.

Analyse de cas

  • Cas 1 : Ce Cette approche utilise la configuration CORS par défaut, qui active une origine générique. Cependant, les tests révèlent qu'il fonctionne correctement.
  • Cas 2 : La personnalisation des origines, des méthodes et des en-têtes autorisés s'avère également réussie.
  • Cas 3 : La gestion manuelle des en-têtes CORS est une autre solution viable.

Résoudre le problème Problème

Mauvaise configuration dans le groupe cible AWS Load Balancer (basé sur la solution OP)

La cause première de ce problème particulier était une mauvaise configuration dans le groupe cible AWS Load Balancer. Le protocole du groupe cible a été défini sur HTTPS même si les certificats SSL appropriés n'ont pas été fournis. La correction du protocole a résolu le problème.

Conseils de débogage

  • Désactivez la mise en cache dans Chrome DevTools pour éviter les réponses de contrôle en amont mises en cache.
  • Envoyez directement des requêtes de contrôle en amont à votre service pour les éliminer. interférence potentielle du proxy.
  • Imprimez le tampon de requête (par exemple, en utilisant httputil.DumpRequest) pour le débogage fins.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3