Как настроить подключение к 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}`);
});

Ответы (0 шт):