Я пытаюсь реализовать приложение чата, используя nodejs и socket.io.Приложение работает на локальном хосте.Но когда я внедряю то же самое на моем производственном сервере, socket.io не может установить соединение.
Код для server.js
var express = require('express');
var app = express();
var socket = require('socket.io');
var chat_controller = require('./controllers/ChatController.js');
var user_controller = require('./controllers/UserController.js');
var Group_controller = require('./controllers/GroupChatController.js');
app.get('/search', function (req, res) {
user_controller.get(req, res);
});
app.get('/groupSearch', function (req, res) {
user_controller.get(req, res);
});
var server = app.listen(3600, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
});
var io = socket(server);
io.on('connection', (socket) => {
console.log('made socket connection', socket.id);
socket.broadcast.emit('userconnected');
chat_controller.respond(io, socket);
Group_controller.respond(io, socket);
user_controller.respond(io, socket);
});
io.on('disconnect', function () {
console.log('made socket disconnect', socket.id);
});
Код для client.js
var socket = io.connect('https://www.mywebsite.com', {
path: '/apichat'
});
/* Other events related to socket. */
Поскольку мой сервер использует SSL, я не могу использовать IP: PORT напрямую, поэтому я использую ProxyPass как
ProxyPass / apichat http://127.0.0.1:3600
После всего этого соединение с сокетом не являетсяустановлено между сервером и клиентом.
В консоли браузера отображается ошибка:
POST https://www.mywebsite.com/apichat/?EIO=3&transport=polling&t=MUc-TJK 404 (не найден)
И на вкладке Сеть браузера отображается:
<code><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /
Я проверил много других вопросов, размещенных здесь и на других сайтах, но без вопросов обращайтесь к этой проблеме.
Пожалуйста, помогите.