2017-06-26 5 views
0

Je traite actuellement avec une erreur qui litmodification d'une stratégie XML crossdomain d'accepter les en-têtes d'origine null

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 404.

La demande fonctionne bien sur mon serveur, mais les pauses sur mon client. J'ai récemment trouvé ce fichier, public/crossdomain.xml

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> 

    <!-- Most restrictive policy: --> 
    <!-- <site-control permitted-cross-domain-policies="none"/> --> 

    <!-- Least restrictive policy: --> 

    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 

</cross-domain-policy> 

Bien que cela ressemble à la solution je cherche, je suis toujours avoir été répudiée la même erreur. Il n'y a pas de problèmes comme ce côté serveur, et mon client correspond maintenant en grande partie à la configuration de mon serveur. Pourquoi cette règle ne parvient-elle pas à résoudre l'erreur? Ai-je besoin de configurer cette politique pour accepter les en-têtes requis?

MISE À JOUR: Here est une diminution des effectifs des erreurs côté client et la sortie du serveur lorsque je tente de faire la demande de domaine croix

Répondre

0

La seule chose que vous pouvez faire est de modifier votre serveur pour répondre à la HEAD prévol demande avec Access-Control-Allow-Origin. Ceci est une fonctionnalité de sécurité du navigateur, vous ne pouvez pas le modifier à partir du site Web de votre client. Vous devez configurer cela sur votre serveur.

Vérifiez également comment vous accédez à votre client. L'origine doit être un domaine valide. Comprendre la politique d'origine identique et CORS. Voulez-vous vraiment faire une demande CORS, ou non? Si ce n'est pas le cas, utilisez le proxy du serveur dev de l'ember.

+0

Mon serveur est en mesure de gérer la requête: il va à la page d'atterrissage auth (coinbase dans ce cas) et se bloque parce qu'il attend une réponse côté client qui ne viendra pas. Une autre erreur étrange est que, quand j'essaie d'utiliser un serveur mandataire d'ember, il tombe toujours en panne, en disant que l'origine de mon hôte local est nulle. J'envisage d'essayer de réinitialiser complètement mon environnement de développement et de voir si cela fait du bien, mais au-delà, je suis perplexe. – d00medman

+1

Pouvez-vous vérifier que le serveur répond à la demande de tête? Avec quels en-têtes? – Lux

+0

[ici] (http://imgur.com/a/Rig2V) est un album des erreurs et des requêtes réseau correspondantes de mon côté client lorsque j'essaie de passer l'appel sans exécuter de serveur proxy (y compris la sortie de mon serveur dans le terminal). Est ce que c'est ce que vous recherchiez? – d00medman