簡體   English   中英

找不到Socket.io客戶端錯誤404

[英]Socket.io Client error 404 not found

我在生產系統上遇到404錯誤(客戶端)。 如果我在局域網中運行服務器,一切都很好。

加載資源失敗:服務器響應狀態為404(未找到)

GET https://foo.com/socket.io/?EIO=3&transport=polling&t=MGd8e2F 404(未找到)

我正在使用socket.io 2.1.1版和Express 4。

Server.js

...
var http = require('http');
var https = require('https');
var app = express();
httpServer = http.createServer(app);
httpsServer = https.createServer(options, app);
...
const io = require('socket.io')(httpsServer);

httpServer.listen(process.env.SERVER_HTTP_PORT);
httpsServer.listen(process.env.SERVER_HTTPS_PORT);

io.use(function (socket, next) {
    //Middleware (express-session)
    e_session(socket.request, socket.request.res, next);
});
io.on('connection', function (client) {
   ...
}

client.js

const socket = io('https://' + window.location.hostname + ':443');

socket.on('connect', function (data) {
  socket.emit('join', 'Server Connected to Client');
});
...

我也在client.js中嘗試過:

const socket = io();
const socket = io('https://' + window.location.hostname);

客戶端為什么不能連接到生產系統上的服務器?

我發現了我的錯誤:生產系統上的負載均衡器將HTTP請求發送到端口80,但是socket.io正在偵聽端口443。我使用錯誤的服務器啟動了socket.io:const const io = require('socket.io')(httpsServer); 而不是require('socket.io')(httpServer)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM