- Сервер HP (я хз какая модель, да и неважно)
- Ubuntu 16.04.7
- Wowza Streaming Engine 4 Perpetual Edition 4.7.1 build20635
Цель: вещание видео по защищенном каналу.
Задачи:
- выпустить сертификат для домена cam.my_domen.ru (имя используется в дальнейшем для примера, заменяете на свое);
- импорт сертификата в Wowza;
- прописать свой домен для вещания;
- протестировать работу вещания.
Необходимость в выпуске собственного сертификата появилась после того как закончилась платная поддержка Wowza, а в дальнейшем финансировании отказали. Поэтому для выпуска сертификата будем использовать сервис Let.s Encrypt. И соответственно автоматизировать выпуск сертификата и его импорт в Wowza.
Жмем...
Часть 1
Нам нужен домен. Дальше прописываем в DNS записи IP адрес нашего сервера Wowza. Ждем, когда обновятся DNS записи на серверах в интернете, а потом уже приступаем к следующему шагу.
Часть 2
Устанавливаем certbot:
sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot
Certbot использует для подтверждения собственный http сервер в наше случае.
Проверяем, что у нас свободен 80 порт. Команда должна вернуть ничего:
sudo lsof -i :80
Дальше проверяем переадресацию порта 80:
sudo iptables-save | grep PREROUTING:PREROUTING ACCEPT-A PREROUTING -p tcp -m tcp --dport 81 -j REDIRECT --to-ports 1935
Я менял переадресацию. Было 80 на 1935. Я сделал временно 81 на 1935. На всякий случай. Но можно просто отключить это правило. Ни чего не должно сломаться. Так же не забываем добавить 80 порт в доступ на фаерволе.
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Теперь запрашиваем сертификат:
sudo certbot certonly --standalone -d cam.my_domen.ru
Если все было сделано правильно, тогда вам вернется ответ:
- Congratulations! Your certificate and chain have been saved at:/etc/letsencrypt/live/cam.my_domen.ru/fullchain.pemYour key file has been saved at:/etc/letsencrypt/live/cam.my_domen.ru/privkey.pemYour cert will expire on 2021-06-10. To obtain a new or tweakedversion of this certificate in the future, simply run certbotagain. To non-interactively renew *all* of your certificates, run"certbot renew"
Переходим к следующей части.
Часть 3
Wowza использует формат .jks для хранения сертификатов. Поэтому нам надо сделать конвертацию сертификата.
Скачиваем утилиту для этого дела и запускаем ее:
cd /usr/local/WowzaStreamingEngine/confwget https://github.com/robymus/wowza-letsencrypt-converter/releases/download/v0.1/wowza-letsencrypt-converter-0.1.jarsudo java -jar wowza-letsencrypt-converter-0.1.jar -v /usr/local/WowzaStreamingEngine/conf/ /etc/letsencrypt/live/
В данном варианте используется версия 0.1, но можно использовать и 0.2 версию в случае необходимости.
Часть 4
Теперь нам надо указать место хранения сертификата. Это можно сделать в конфигурационном файле /usr/local/WowzaStreamingEngine/conf/VHost.xml или через веб-менеджер.
Вариант 1.
В конфигурационном файле надо найти строчки и указать место хранение файла jks и ключ.
<SSLConfig><KeyStorePath>/usr/local/WowzaStreamingEngine/conf/cam.my_domen.ru.jks</KeyStorePath><KeyStorePassword>secret</KeyStorePassword></SSLConfig>
Программа Wowza Let's Encrypt Converter по умолчанию делает ключ secret.
И перезагрузить сервер:
service WowzaStreamingEngineManager restartservice WowzaStreamingEngine restart
Вариант 2.
Открываем в браузере Wowza Streaming Engine Manager по адресу: http://ваш_ип_или_домен:8088. Идем в настройки: "Server" → "Virtual Host Setup". Жмем "Edit".
Вносим в поле Keystore Path путь до нашего сертификата и в Keystore Password пароль от сертификата. В нашем случае это /usr/local/WowzaStreamingEngine/conf/cam.my_domen.ru.jks и secret соответственно.
После внесения изменений принимаем настройки кнопкой "Apply" и сохраняем настройки кнопкой "Save". И перезапускаем сервисы Wowza кнопкой "Restart".
Теперь можно проверять работу видеопотока.
Часть 5
Теперь надо автоматизировать выпуск сертификата и его подмену.
Я это до сих пор не сделал, в ручную делаю и тестирую команды из скрипта, чтобы получать в будущем 100% результат.
Используемые материалы:
Комментариев нет:
Отправить комментарий