Для 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
Удалить комнату?
Все сообщения и данные комнаты будут удалены из базы данных навсегда. Это действие необратимо.
SSE — стандартный режим на чистом PHP, не требует Node.js.
Node.js — WebSocket сервер, быстрее и масштабируемее.
Прямой порт
wss://host:3001
Apache / Nginx Proxy Path
⚠️ HTTPS сайт требует proxy. Укажи /ws/ и добавь конфиг в Apache.
Пусто = прямое подключение ws://host:порт (только HTTP или если порт открыт).
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.