des problèmes avec l'Origine de la Croix de Partage de Ressources: les deux OSX Safari et iOS Safari échouer après une demande de contrôle en amont

Récemment, je viens dans un soucis avec les CORS(Cross Origin Resource sharing) demande sur Safari, à la fois OSX et iOS, tandis que la même demande fonctionne parfaitement sur Chrome et Firefox. J'ai suivi la documentation du W3C et la poignée de contrôle en amont de la demande sur le côté serveur, ma réponse est comme:

HTTP/1.0 200 OK
Access-Control-Allow-Origin: http://192.168.1.96:4399
Access-Control-Allow-Methods: POST
Access-Control-Allow-Methods: GET
Access-Control-Allow-Methods: OPTIONS
Access-Control-Allow-Headers: Origin
Access-Control-Allow-Headers: Authorization
Access-Control-Allow-Headers: X-Requested-With
Access-Control-Allow-Headers: Accept
Access-Control-Allow-Headers: Access-Control-Request-Method
Access-Control-Allow-Headers: Access-Control-Request-Headers
Access-Control-Allow-Headers: DNT
Access-Control-Allow-Headers: X-CustomHeader
Access-Control-Allow-Headers: Content-Type
Access-Control-Max-Age: 0
Date: Fri, 25 Nov 2016 08:45:25 GMT
Origin: http://192.168.1.96:4399
Access-Control-Expose-Headers: Origin
Content-Encoding: gzip
Transfer-Encoding: chunked

De réponse fonctionne très bien sur Chrome, Firefox et le Navigateur Android: une requête POST est envoyé lors de la demande de contrôle en amont. Mais sur Safari, après la réponse du serveur à la reflight demande, j'ai reçu un tel message d'erreur de la console:

Failed to load resource: The network connection was lost.

Je inspecter le contrôle en amont de la réponse du serveur, mais il trouve le même que ci-dessus... Après avoir cherché et essayé tant de fois, je ne peux toujours pas faire fonctionner 🙁

Est-ce que quelqu'un que vous rencontrez sur le problème avant? Quelqu'un pourrait-il comprendre ce que l'erreur que j'ai faite?

Merci beaucoup à l'avance!

  • Sonne comme vous avez un bug dans Safari que vous pourriez rapport à bugs.webkit.org
  • Merci beaucoup. Mais ce qui est intéressant et parfois je trouve qu'il fonctionne lorsque je coche "Désactiver la Croix-Restrictions Origine" option dans le menu développement sur OSX Safari! Je soupçonne que ce problème pourrait avoir quelque chose à voir avec la sécurité du navigateur politiques, et je vais continuer à essayer de le comprendre.
  • Je pense que C'est naturel que lorsque vous désactivez les Restrictions pour l'Origine de la Croix, vous pouvez vous connecter au serveur cible sans aucun problème et il n'est pas intéressant du tout, car le navigateur intendedly utilise les Restrictions à l'Origine de la Croix de Partage de Ressources pour améliorer notre sécurité. Donc, oui, le problème a quelque chose à voir avec le navigateur absolument.
InformationsquelleAutor BenMiracle | 2016-11-25