Socket.io-access-control-allow=origin-Fehler von remote-site
Ich versuche, Zugriff auf einen socket.io-server von einem anderen Standort. Es funktionierte für ein paar Wochen, aber jetzt bekomme ich immer die folgende Fehlermeldung. Es passiert beim Zugriff auf einen server auf nodester von einem server auf heroku. Der Fehler ist:
XMLHttpRequest cannot load http://site2.nodester.com/socket.io/xhr-polling//1311008802545.
Origin http://site1.heroku.com is not allowed by Access-Control-Allow-Origin.
Resource interpreted as Script but transferred with MIME type text/plain.
Uncaught SyntaxError: Unexpected identifier
Hier ist, wie ich bin, in Verbindung mit der Steckdose:
socket = new io.Socket(
'site2.nodester.com', {port: 80, rememberTransport: false}
);
Und hier ist der server-code:
//requires
server = http.createServer(function(req, res){
//server stuffs
}),
server.listen(8362);
var io = io.listen(server),
//io code
- "Ressource wurde als Skript interpretiert, aber übertragen mit dem MIME-Typ text/plain." Das ist ein problem auch.
- Ich bin vor genau das gleiche problem und seine mich verrückt! Waren u in der Lage zu finden, keine Lösung für dieses?
- siehe dieser post könnte man einen Hinweis bekommt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du konfigurieren - Buchse.io weiterhin mit dem Standard -
origins = *
oder zumindestorigins = site1.heroku.com
Das problem, das ich konfrontiert war, im Dienste der Kunden socket.io.js von einem anderen Standort aus.
Können Sie dieses Problem vermeiden, indem er die client-js-Datei vom gleichen server, wo Sie eine Verbindung herstellen möchten.
zum Beispiel, meine erste client-code war dieser und warf Sie Fehler
sobald ich es geändert wurde, arbeitete schon in Ordnung.
Und mein server code ist,
Ich habe eine gleiche problem und ich weiß nicht ankommen gelöst.
Ich testen, viele Konfiguration:
oder
oder
Dank eurer Hilfe 🙂
Könnte es nicht genau verwandt, aber könnte eventuell helfen, einige Arme Seelen auf dieses Problem:
Ich habe gerade festgestellt, dass die Ausführung der client von der lokalen Festplatte (zumindest unter Windows) zB.
file:///c:/...
Ergebnisse in einem "null" - Ursprung, der Absturz, die Herkunft zu überprüfen. Versuchen Sie den Upload client, um eine remote-website-und-Feuer gibt es ab. Lassen Sie die Ursprünge auf :.Hoffe, das hilft einige Leute aus.
socket.io
, und es funktioniert nur wenn ich die Datei auf einem server, anstatt der Festplatte. Aber ich möchte wirklich, um es zu laden, als eine lokale Datei in Chrome, gibt es eine andere Lösung?Dieser arbeitete für mich
Ich das Problem gelöst, indem der client geladen ist socket.io.js vom server selbst, sondern die Aufrechterhaltung einer lokalen Kopie auf der Website. In meinem setup gibt es eine Webseite auf eine bestimmte website, die holt sich die Datei vom server, die an einem anderen Ort.
Eine einfache Lösung (Dank mattcodez):
io = io.listen(8888);
io.server.removeListener('request', io.server.listeners('request')[0]);
Gibt es einen offenen bug für dieses Problem und Sie können mehr darüber Lesen Sie hier:
Ich dies Problem gelöst, indem Sie eine Linie von client-code.
Änderte ich
zu