Как настроить подключение к wss по /ws за место порта 8181
подскажите как настроить websocket подключение wss://example.com/ws за место wss://example.com:8181
В nginx добавил
location /ws {
proxy_pass https://127.0.0.1:8181;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_>
}
Но при подключении к wss://example.com/ws получаю Клиент отключен. Код: 1006, Причина: То есть Причина не указывается. А при подключении к wss://example.com:8181 все работает хорошо.
node js
const express = require('express');
const https = require('https');
const fs = require('fs');
const cors = require('cors');
const WebSocket = require('ws');
const { exec } = require('child_process');
const app = express();
const server = https.createServer({
key: fs.readFileSync('./private_key.key'),
cert: fs.readFileSync('./certificate.crt'),
}, app);
const wss = new WebSocket.Server({ noServer: true });
const PORT = 8181;
app.use(cors());
wss.on('connection', (socket) => {
console.log('Подключен клиент по WebSocket');
socket.send('Hello, WebSocket!'); // Отправка приветственного сообщения
socket.on('message', (message) => {
// Обработка входящих сообщений от клиента
console.log(`Получено сообщение: ${message}`);
});
socket.on('close', (code, reason) => {
console.log(`Клиент отключен. Код: ${code}, Причина: ${reason}`);
});
});
server.on('upgrade', (request, socket, head) => {
wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit('connection', ws, request, socket);
});
});
server.listen(PORT, () => {
console.log(`Сервер запущен на порту ${PORT}`);
});