JavaScript — CORS с socket.io

CORS с socket.io

У меня проблемы с CORS в приложении node.js, использующем express.io. Я размещаю клиент socket.io js удаленно, так как это должно работать как удаленное приложение.

 {amp}lt;script src="resources/js/socket.io.min.js"{amp}gt;{amp}lt;/script{amp}gt; 

Он размещен на OpenShift

server.js:

 var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "localhost"; var port = process.env.OPENSHIFT_NODEJS_PORT || 8080; var express = require('express.io'); // magical express.io var app = express(); // Enables CORS var enableCORS = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, *'); // intercept OPTIONS method if ('OPTIONS' == req.method) { res.send(200); } else { next(); }; }; app.configure(function() { // enable CORS! app.use(enableCORS); }); app.http().io(); app.io.set('origins', '*:*'); //.... other stuff app.listen(port, ipaddr); 

Тогда на клиенте:

 var socket = io.connect(window.chat_url); 

Когда я запускаю клиент с localhost: 8888 с сервера localhost: 8080 socket.io работает нормально.

Когда я запускаю клиент с локального хоста: 8888 и сервер на odechat-latestsightings.rhcloud.com, время ожидания socket.io истекает:

Firebug: GET http://nodechat-latestsightings.rhcloud.com:8888/socket.io/1/?t=1391542144169 1 м 16 с

Другие маршруты работают нормально: ПОЛУЧИТЕ http://nodechat-latestsightings.rhcloud.com/rooms 200 OK 664ms

Я просто не могу понять это

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector