Не могу соедениться с сервером
Всем привет. На вебсервере(nginx) крутится сайт. На http. Решил сделать чат, типа поддержки. Нарисовал форму,установил nodejs на сервер. В конфиге (nginx) сайта прописал proxy.
location /chat/ {
proxy_pass http://site.ru:3000;
proxy_set_header Host $host;
}
server.js
const http = require('http');
const WebSocket = require('ws');
const wss = new WebSocket.Server({port:3000 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('Получено сообщение: %s', message);
});
});
client.js
var ws = new WebSocket('ws://site.ru:3000');
или
var ws = new WebSocket('ws://site.ru/chat/');
Нет соединения. Порт открыт. Если просто запускать node server, работает. Нужный порт слушает. Целый день провозился(. |
В настройках nginx разве есть смысл указывать доменное имя, если его A-запись все равно указывает на этот же сервер?
Это же бессмысленное обращение к DNS, там можно просто `localhost:3000` или `127.0.0.1:3000` указать. Цитата:
|
|
Да нет,это не влияет. Перенёс чат на другой сайт с https. та же хрень.
Этот код
var https = require('node:https');
var fs = require('node:fs');
const options = {
key:fs.readFileSync('./key.pem'),
cert:fs.readFileSync('./cert.pem')
}
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(3000);
работает. То есть я открываю страницу https://site.ru/chat и вижу hello world Но код с websocket ни в какую
const HttpsServer = require('node:https').createServer;
var fs = require('node:fs');
const WebSocket = require('ws').Server;
const options = {
key:fs.readFileSync('./key.pem'),
cert:fs.readFileSync('./cert.pem')
}
const server = HttpsServer({options});
const socket = new WebSocket({
server: server
});
socket.on('connection', (ws) => {
ws.on('message', (message) => {
console.log(`Received: ${message}`);
});
ws.send('Secure connection established!');
});
server.listen(3000);
В nginx вносил правки. Всё равно( |
Разобрался. Нужно было на отдельном поддомене запустить node сервер и потом уже с сайта подключаться к нему.
|
| Часовой пояс GMT +3, время: 15:03. |