![](/img/trans.png)
[英]Node.js + Apache - https://localhost:3000/socket.io/ ERR_CONNECTION_REFUSED
[英]ERR_CONNECTION_REFUSED with socket.io on Node.js server
我使用Node.js进行了基本的客户端-服务器设置:
服务器
var port = 8000;
var http = require('http');
var express = require('express');
var app = express();
var server = http.createServer(app).listen(port);
var io = require('socket.io').listen(server);
app.use(express.static(__dirname + '/site'));
app.get('/', function(req, res) {
res.sendFile(__dirname + '/site/index.html');
});
server.listen(port, function() {
console.log("Listening on port " + port + "...");
});
io.on('connection', function(socket) {
console.log("A user connected");
});
客户
var socket = io.connect("http://72.53.66.228:8000");
socket.on('connect', function() {
console.log("Connected.");
});
但是,我一直在浏览器的控制台中收到此错误,并且我不确定为什么:
GET http://72.53.66.228:8000/socket.io/?EIO=3&transport=polling&t=1419738402131-5 net::ERR_CONNECTION_REFUSED
我还应该注意,我正在运行Apache Web服务器,并且正在使用ProxyPass指令让Node.js 在子目录中提供服务
主要问题是道路。 由于Apache仅代理/ CAH /。 。 。 路径。
io.connect("http://72.53.66.228/CAH");
的麻烦io.connect("http://72.53.66.228/CAH");
socket.io做了一个“砍刀”技巧,将/ CAH解释为房间而不是路径。
解决方案是这样设置路径选项: io.connect({path:'/CAH/socket.io'})
,这会使socket.io客户端连接到正确的URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.