Échec de l'accès au sous-domaine à partir du domaine principal : non « Access-Control-Allow-Origin »
Ce problème survient lorsqu'une application Web est hébergée sur un sous-domaine tente d'accéder à un serveur API sur le domaine principal, mais rencontre l'erreur « Aucun en-tête « Access-Control-Allow-Origin » n'est présent sur la ressource demandée ».
Application de la politique CORS :
Le message indique que la réponse du serveur API ne contient pas l'en-tête "Access-Control-Allow-Origin", qui est essentiel pour activer le partage de ressources d'origine croisée (CORS). CORS est un mécanisme de sécurité qui empêche les applications Web d'effectuer des requêtes non autorisées vers d'autres domaines.
Causes possibles :
-
Paramètres CORS mal configurés : Assurez-vous que le serveur API est correctement configuré pour autoriser les requêtes d'origine croisée du sous-domaine en ajoutant l'en-tête "Access-Control-Allow-Origin" approprié à ses réponses.
-
Problème de proxy inverse : Vérifiez que les proxys inverses ou les équilibreurs de charge entre le sous-domaine et le serveur API ne bloquent pas l'en-tête "Access-Control-Allow-Origin".
Dépannage :
-
Vérifier la réponse de contrôle en amont : Utilisez Chrome DevTools ou une commande curl pour examiner la demande et la réponse de contrôle en amont. Assurez-vous que la réponse de contrôle en amont contient l'en-tête "Access-Control-Allow-Origin" nécessaire.
-
Envoyer la demande directement à l'API : Essayez d'envoyer la demande de contrôle en amont directement au serveur API pour éliminer le possibilité d'interférence d'autres composants.
-
Test de la configuration CORS : Utilisez des outils de test CORS en ligne ou des extensions de navigateur pour vérifier que les paramètres CORS fonctionnent correctement.
-
Inspecter les en-têtes de réponse : Utilisez des outils tels que curl pour inspecter les en-têtes de réponse du serveur API et assurez-vous que l'en-tête "Access-Control-Allow-Origin" est présent.
-
Vérifiez AWS Load Balancer Paramètres : Dans le cas d'AWS, vérifiez si le groupe cible associé à l'équilibreur de charge est configuré pour HTTPS, car cela peut parfois entraîner des problèmes CORS.
Informations supplémentaires :
- [Gestion des CORS dans Go avec Gin](https://www.digitalocean.com/community/tutorials/how-to-handle-cross-origin-resource-sharing-cors -in-go)
- [Utiliser CORS avec Gin-gonic](https://godoc.org/github.com/gin-gonic/gin#hdr-CORS)
- [Test CORS avec cURL](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request#Testing_CORS_with_cURL)
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!