Конфиг Apache (mod_proxy_wstunnel)

Для HTTPS-сайта браузер требует wss://. Apache проксирует запрос на локальный Node.js (plain ws).

⚠️ Требуются модули Apache: mod_proxy, mod_proxy_http, mod_proxy_wstunnel, mod_rewrite
На Linux (Ubuntu/Debian): a2enmod proxy proxy_http proxy_wstunnel rewrite && systemctl restart apache2
Шаг 1 — добавить в VirtualHost (443/SSL блок)
# WebSocket proxy for CipherChat Node.js RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule ^/ws/(.*)$ ws://127.0.0.1:3001/$1 [P,L] ProxyPassReverse /ws/ http://127.0.0.1:3001/ # Keep-alive for long-lived WS connections ProxyTimeout 3600
Шаг 2 — для OpenServer Panel (Windows)
В OpenServer откройте: Конфигурация → Apache → VirtualHosts → ваш домен
(обычно C:\OpenServer\userdata\config\Apache-2.4\[домен]-ssl.conf)
Вставьте блок выше внутри <VirtualHost *:443>...</VirtualHost>
Шаг 3 — для Linux VPS (Ubuntu / Debian)
sudo a2enmod proxy proxy_http proxy_wstunnel rewrite sudo nano /etc/apache2/sites-available/yourdomain-le-ssl.conf # Вставить блок из Шага 1 внутри <VirtualHost *:443> sudo systemctl restart apache2
Шаг 4 — настройки Admin Panel
В поле «Proxy Path» выше введите: /ws/
Запустите Node.js: cd nodejs && node server.js

Удалить комнату?

Все сообщения и данные комнаты будут удалены из базы данных навсегда. Это действие необратимо.

Admin Panel

// введите пароль администратора

Управление комнатами
// all rooms — click delete to permanently remove
Тема по умолчанию
Сохранено
0
Комнат
0
Сообщений
0
Участников
Настройки загрузки изображений
От 1 до 100 МБ. По умолчанию: 10 МБ
Разделяйте расширения запятыми без пробелов
Настройки сохранены
Настройки загрузки файлов
От 1 до 500 МБ. По умолчанию: 50 МБ
Разделяйте расширения запятыми без пробелов
Настройки сохранены
Транспорт чата Загрузка...
SSE — стандартный режим на чистом PHP, не требует Node.js.
Node.js — WebSocket сервер, быстрее и масштабируемее.
P2P Top Secret Mode Загрузка...
Когда включён, пользователи могут создавать P2P Top Secret комнаты.
В P2P режиме сообщения хранятся только в браузере участников, сервер выступает только как сигнальный relay для WebRTC.
Голосовые и видеозвонки Загрузка...
Зашифрованные 1:1 аудио/видеозвонки через WebRTC (DTLS-SRTP E2E).
Медиапоток идёт напрямую между участниками — сервер только обменивает SDP/ICE сигналы.
Требуется Node.js транспорт для сигналинга в реальном времени.
TURN-сервер Загрузка...
TURN нужен когда прямое P2P-соединение блокируется двойным NAT или корпоративным файрволом. Клиенты сначала пробуют прямой путь (STUN) — TURN включается только при неудаче. Рекомендован coturn.

Активные комнаты

Название / ID Режим Сообщений Участников Создана Действие