Jitsi Meet (Docker) за Nginx Reverse Proxy
Опубликовано 05.11.2025
Как установить Jitsi Meet (Docker) за Nginx Reverse Proxy
В предыдущей статье мы развернули базовый сервер Jitsi Meet с помощью Docker.
Это отличный способ быстро запустить видеоконференции, но в продакшне сервер Jitsi часто должен работать на том же хосте, где уже запущены другие веб-приложения.
Чтобы всё жило мирно, нужно спрятать Jitsi за Nginx reverse proxy.
Nginx возьмёт на себя SSL, порты 80/443 и будет проксировать запросы к контейнерам Jitsi, работающим на внутренних портах.
Архитектура
Целевая схема выглядит так:
- Пользователь →
https://meet.your-domain.com→ Nginx (порт 443) - Nginx →
http://192.168.1.131:8400→ Jitsi Web Container (веб-интерфейс и WebSocket) - Пользователь → (порт 10000/UDP) → Jitsi JVB Container (видео/аудио поток)
Важно: Nginx проксирует только веб-трафик.
Медиа (видео и звук по WebRTC) идёт напрямую на Jitsi Videobridge по порту 10000/UDP.
Шаг 1. Настройка Jitsi Meet (.env)
Перед настройкой прокси нужно сообщить Jitsi, что теперь HTTPS и сертификаты обрабатываются внешним Nginx.
Откройте .env и установите:
DISABLE_HTTPS=1
HTTP_PORT=8400
HTTPS_PORT=8443
ENABLE_LETSENCRYPT=0
PUBLIC_URL=https://meet.your-domain.com/
Теперь перезапустите Jitsi:
cd /path/to/docker-jitsi-meet
docker compose down
docker compose up -d
Проверьте, что контейнер web слушает порт 8400:
docker ps | grep web
Шаг 2. Настройка Nginx Reverse Proxy
Создайте конфигурацию:
sudo nano /etc/nginx/sites-available/meet.your-domain.com.conf
Добавьте:
upstream jitsi {
server 192.168.1.131:8400;
}
server {
listen 80;
server_name meet.your-domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name meet.your-domain.com;
ssl_certificate /etc/letsencrypt/live/meet.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meet.your-domain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
client_max_body_size 0;
proxy_buffers 8 32k;
proxy_buffer_size 64k;
location / {
proxy_pass http://jitsi;
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;
proxy_http_version 1.1;
proxy_read_timeout 300s;
}
location /xmpp-websocket {
proxy_pass http://jitsi;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400s;
}
location ~ ^/colibri-ws/ {
proxy_pass http://jitsi;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400s;
}
location /http-bind {
proxy_pass http://jitsi;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 60s;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff2?|ttf|svg|eot)$ {
proxy_pass http://jitsi;
proxy_cache off;
expires 1y;
add_header Cache-Control "public, immutable";
}
}
Активируйте конфиг:
sudo ln -s /etc/nginx/sites-available/meet.your-domain.com.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Шаг 3. Настройка Firewall
Медиа-трафик Jitsi проходит по UDP, поэтому порт 10000 должен быть доступен напрямую.
Пример проброса портов
External: 10000/UDP → Internal: 192.168.1.131:10000/UDP
Для UFW
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw reload
Если этот порт не открыт — участники конференции не смогут подключиться к видео и звуку.
Шаг 4. Проверка авторизации (если включена)
Если в .env включено:
ENABLE_AUTH=1
AUTH_TYPE=internal
Создайте пользователей:
docker compose exec prosody prosodyctl register user1 meet.jitsi StrongPassword
Авторизация будет работать без изменений, так как Nginx просто проксирует XMPP-трафик.
Итог
Теперь ваш Jitsi Meet работает за Nginx reverse proxy:
- Jitsi (.env) знает, что HTTPS отключен и слушает порт
8400. - Nginx (.conf) обслуживает
443, проксирует/,/xmpp-websocket,/colibri-wsи/http-bind. - Firewall пробрасывает
10000/UDPнапрямую на JVB.
Можно размещать Jitsi рядом с другими сайтами и сервисами, а Nginx становится единым шлюзом в интернет.
Отзывы по теме
Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!
christ_media · N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram
Опытный покупатель24.09.2025 · ⭐ 5/5
Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!
Спасибо за быструю и хорошую работу. Все сделали оперативно и так как нужно!
Dr-zelenin · N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram
06.09.2025 · ⭐ 5/5
Спасибо за быструю и хорошую работу. Все сделали оперативно и так как нужно!
Быстрое решение проблемы, всем рекомендую Михаила в качестве исполнителя! Пробовал собрать аналогичную конфигурацию самостоятельно и через советы нейросетей, в результате куча потраченных сил и средств (из-за простоя сервера). Так что мой совет в итоге - обращайтесь к профессионалам, это выйдет дешевле =) Спасибо Михаилу за профессионализм.
ladohinpy · N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram
25.08.2025 · ⭐ 5/5
Быстрое решение проблемы, всем рекомендую Михаила в качестве исполнителя! Пробовал собрать аналогичную конфигурацию самостоятельно и через советы нейросетей, в результате куча потраченных сил и средств (из-за простоя сервера). Так что мой совет в итоге - обращайтесь к профессионалам, это выйдет дешевле =) Спасибо Михаилу за профессионализм.
Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.
NadoBy · N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram
Освоившийся покупатель12.08.2025 · ⭐ 5/5
Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.
Отличная работа, спасибо! Михаил профессионал своего дела, рекомендую!
Dina_Perova · N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram
Освоившийся покупатель03.07.2025 · ⭐ 5/5
Отличная работа, спасибо! Михаил профессионал своего дела, рекомендую!
Спасибо Михаилу за отзывчивость. Созвонились, объяснил как сделать самому. Обращаюсь уже второй раз, все супер и оперативно.
kireevk · Консультация по nginx proxy manager и portainer
Освоившийся покупатель25.02.2025 · ⭐ 5/5
Спасибо Михаилу за отзывчивость. Созвонились, объяснил как сделать самому. Обращаюсь уже второй раз, все супер и оперативно.