我的应用程序在localhost上完美运行,但当我将它推送到OpenShift时,我遇到了socket.io的这个问题
XMLHttpRequest cannot load http://test-jackguy.rhcloud.com:8000/socket.io/1/?t=1387836069741. Origin http://test-jackguy.rhcloud.com is not allowed by Access-Control-Allow-Origin.
我不明白为什么会出现Access-control-allow-origin问题。根据OpenShift的WebSockets说明,我在客户端使用以下URL:
var socket = io.connect('ws://test-jackguy.rhcloud.com:8000/');
在服务器上,我有以下代码:
var express = require('express');
var app = express();
var server = app.listen(process.env.OPENSHIFT_INTERNAL_PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080, process.env.OPENSHIFT_INTERNAL_IP || process.env.NODEJS_IP);
var io = require('socket.io').listen(server, { log: false });
io.set('log level', 1);
io.set("transports", ["websocket"]);
我的目录结构如下所示:
/application
server.js
/public
/slsd
index.html
/js
script.js
其中script.js是客户端连接,server.js是服务器文件。
这是URL。 http://test-jackguy.rhcloud.com/slsd/任何人都知道什么是错的?