Socket.io access-control-allow=origin error from remote site

JRPete picture JRPete · Jul 18, 2011 · Viewed 22.4k times · Source

I am trying to access a socket.io server from another site. It worked for a few weeks but now I keep getting the following error. It happens when accessing a server on nodester from a server on heroku. The error is:

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

Here's how I'm connecting with the socket:

socket = new io.Socket(
    'site2.nodester.com', {port: 80, rememberTransport: false}
);

And here's the server code:

// requires

server = http.createServer(function(req, res){
    // server stuffs
}),

server.listen(8362);

var io = io.listen(server),

// io code

Answer

Alfred picture Alfred · Jul 20, 2011

Did you configure socket.io to still use default origins = * or at least put origins = site1.heroku.com