Не могу соедениться с сервером
Всем привет. На вебсервере(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, время: 02:26. |