存在与 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
});
我正在使用 angularjs 和 express 框架。
最佳答案
您是否在浏览器上安装了一个插件来启用/禁用 cors?我做到了,这是我问题的根源。我卸载了它和'http://evil.com ' 原始 header 消失了。
关于node.js - Openshift CORS ERROR 'Access-Control-Allow-Origin' header 包含多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208498/