2016-07-01 9 views
0

Ich versuche eine Website einzurichten, um auf CORS-fähige Daten auf meinem Server zuzugreifen. Mein Server hat einen access-control-allow-origin-Header von www.mysite.com, während die Anforderung von einer Quelle mit einem Ursprungsheader von www.mysite.com:444 stammt. Bei der Anfrage handelt es sich um eine GET-Anfrage, die versucht, Daten von meinem Server abzurufen, die eingerichtet wurden, um Daten an einen Teil meiner App zu senden, der in einem Iframe an einer anderen Stelle der Site ausgeführt wird.Ist es möglich, den Port vom Ursprung einer Ajax-Anfrage zu entfernen?

Diese Anfrage wird leider blockiert. Wie kann ich diese Anfrage erfolgreich stellen? Gibt es eine Möglichkeit für mich, die Portnummer von meinem origin Header zu entfernen, oder muss ich den Header access-control-allow-origin auf meinem Server ändern? (Und wenn das der Fall ist, wie soll ich dabei vorgehen?)

+2

Hafen Teil der „Domäne“ ist in diesem Zusammenhang. Die Host- und Port-Teile müssen genau übereinstimmen (oder einen Platzhalter haben). –

Antwort

2

Sie können diesen Header auf der Client-Seite nicht bearbeiten, der den Punkt dieses Sicherheitskopfs besiegen würde.

Warum nicht einfach www.mysite.com:444 vollständig auf dem Server zulassen?

+0

Ich dachte, ich könnte so etwas machen, aber ich bin ehrlich gesagt nicht so vertraut mit serverseitigem Code. Das erledigt normalerweise jemand anderes, aber sie sind für das Wochenende nach Hause gegangen. Kann ich eine Wildcard (d. H. 'Www.mysite.com *') auf dem Server verwenden, um beides zuzulassen? – ckersch

+0

Ich bin mir ziemlich sicher, dass Sie JUST den Port nicht verwildern können :(und das Wildcarding der ganzen Domain ist auch nicht gut. Erlauben http://www.example.com:444 plus irgendeinen anderen Port, der in der Zukunft scheint fair. – AlexG

1

Alles, was Sie benötigen, ist dies auf dem Server:

Access-Control-Allow-Origin: http://www.example.com:444