Настройка Reverse Proxy (Nginx, Caddy, Traefik)
Размещение RUSEON Core за обратным прокси-сервером позволяет централизованно управлять SSL/TLS сертификатами (Let's Encrypt), настраивать маршрутизацию доменов и интегрировать видеосервер в существующую инфраструктуру.
1. Caddy (Рекомендуемый вариант)
Веб-сервер Caddy автоматически выпускает и обновляет сертификаты Let's Encrypt и "из коробки" поддерживает протоколы HTTP/2, HTTP/3 и WebSocket:
caddy
video.example.com {
reverse_proxy 127.0.0.1:8080 {
# Отключение буферизации ответов для мгновенной доставки HLS и WHEP
flush_interval -1
}
}2. Nginx Production Конфигурация
При использовании Nginx обязательно настройте проксирование WebSocket и отключите буферизацию для стриминга:
nginx
server {
listen 80;
server_name ruseon.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name ruseon.example.com;
ssl_certificate /etc/letsencrypt/live/ruseon.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ruseon.example.com/privkey.pem;
# Максимальный размер загрузки
client_max_body_size 50M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
# Заголовки WebSocket
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_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Отключение буферизации для HLS и WHEP
proxy_buffering off;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}3. Traefik (Интеграция с Docker Compose)
При использовании Traefik в качестве Ingress-контроллера:
yaml
services:
ruseon:
image: ghcr.io/rusegal/ruseon-core:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.ruseon.rule=Host(`ruseon.example.com`)"
- "traefik.http.routers.ruseon.entrypoints=websecure"
- "traefik.http.routers.ruseon.tls.certresolver=letsencrypt"
- "traefik.http.services.ruseon.loadbalancer.server.port=8080"Важное замечание по WebRTC трафику
Reverse Proxy обрабатывает HTTPS сигнализацию (WHEP) и HLS видеопотоки. Сам медиапоток WebRTC передаётся напрямую по протоколу UDP:
- Убедитесь, что диапазон UDP-портов (
50000-50100) открыт в фаерволе и направлен на сервер RUSEON. - Укажите публичный IP-адрес сервера в параметре
webrtc.public_ipвconfig.yaml, чтобы браузерные клиенты получали корректные ICE-кандидаты.