node.js - Openshift CORS ERROR 'Access-Control-Allow-Origin' header 包含多个值

标签 node.js socket.io cors openshift

存在与 CORS 相关的重复问题。但是没有一个解决方案对我有用。我在 Openshift Cloud 上运行我的应用程序。我已经安装了 cors npm 包作为中间件。这是错误。

'Access-Control-Allow-Origin' header contains multiple values 'http://evil.com/, *', but only one is allowed. Origin 'http://my-app-name.rhcloud.com' is therefore not allowed access.

服务器端代码

var app = express();
var server = require('http').Server(app);
var io = require('socket.io').listen(server);
var cors = require('cors');
app.use(cors());

//rest of the code

var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
server.listen(server_port, server_ip_address);

客户端代码

var socket = io.connect('http://my-app-name.rhcloud.com:8000/',{
    'forceNew':true
});

我正在使用 angularjsexpress 框架。

最佳答案

您是否在浏览器上安装了一个插件来启用/禁用 cors?我做到了,这是我问题的根源。我卸载了它和'http://evil.com ' 原始 header 消失了。

关于node.js - Openshift CORS ERROR 'Access-Control-Allow-Origin' header 包含多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208498/

相关文章:

node.js - PhantomJS 设置浏览器时区设置

javascript - 为什么 Winstonjs ExceptionHandler 会消除我的 Node 错误?

mysql - Socket.io 命名空间在 10 个连接后停止工作

javascript - 通过 LAN 托管 Socket.io 服务器

ajax - 如何在Django的预检CORS POST请求中处理CSRF?

具有 ASP.NET API 凭据的 JavaScript XMLHttpRequest

forms - 如何在 node.js 中处理多部分/表单数据

node.js - Aptana Studio 是否有 NodeJS 插件?

javascript - socket.io 无法与 Node 服务器一起使用

javascript - 如何发起一个简单的 CORS 请求?