location /wss_online {
proxy_pass server 127.0.0.1:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
В файле app.js довольно всё просто для тестирования
const express = require('express');
const https = require('https');
const fs = require('fs');
const socketIO = require('socket.io');
const PORT = 3002;
const app = express();
// Загрузка SSL-сертификата и ключа
const privateKey = fs.readFileSync('/var/www/httpd-cert/globus/mysite.com_le2.key', 'utf8');
const certificate = fs.readFileSync('/var/www/httpd-cert/globus/mysite.com_le2.crtca', 'utf8');
const ca = fs.readFileSync('/var/www/httpd-cert/globus/mysite.com_le2.ca', 'utf8');
const credentials = { key: privateKey, cert: certificate, ca: ca };
// Создание HTTPS-сервера
const server = https.createServer(credentials, app);
const io = socketIO(server);
io.on('connection', (socket) => {
console.log('User connected:', socket.id);
// Обработка отключения пользователя
socket.on('disconnect', () => {
console.log(User ${socket.id} disconnected.);
});
});
server.listen(PORT, () => {
console.log(WebSocket server is running on port ${PORT});
});
Через node app.js всё запускается без ошибок.
Делаю фронтовую часть
<script src="https://cdn.socket.io/4.0.1/socket.io.min.js"></script>
<script>
// Генерация случайного userID для тестирования
const userID = 'random_user_id';
// Подключение к серверу WebSocket через прокси на URL /wss_online
const socket = io('https://mysite.com/wss_online', {
path: '/wss_online/socket.io',
query: { userID: userID },
});
// Обработчик события подключения
socket.on('connect', () => {
console.log('Connected to the server');
// Отправка сообщения на сервер
socket.emit('message', 'Hello, server!');
});
// Обработчик события получения сообщения от сервера
socket.on('message', (data) => {
console.log('Received from server:', data);
});
// Обработчик события отключения от сервера
socket.on('disconnect', () => {
console.log('Disconnected from the server');
});
</script>
Браузер в консоли выдает ошибку Nginx 502. В консоли сервера ошибок нет работающего приложения( Что я делаю не так? Куда копать?
Прошу глянь правила
1. прочитай правила, пожалуйста 2. для портянок конфигов есть pastebin.com
Бро я ему сказал )) Не стоит напрягаться 😁😁
Обсуждают сегодня