И так сказ о том как установить icecast2 с поддержкой ssl.
Я потратил около недели времени что бы запустить icecast с поддержкой ssl. И что бы кому то может быть было чуть проще чем мне я решил это написать тут.
Начну пожалуй с того что установить и настроить icecast в убунте удалось легко и просто благодаря многочисленным инструкциям. Проблемы начались с того как я решил разместить плеер со свое радиостанцией на сайте. На моем сайте был установлен сертификат и все пользователи подключались через https и тут оказалось что html5 плеер просто молчит. в консоли была надпись mixed content. Короче все стало ясно надо что бы вещание с радиостанции шло тоже через https и тут начался основной геморрой.
Первым делом мне попалась инструкция где говорилось что бы я забыл о том что я делал раньше удалил icecast и собрал его из исходников заново с поддержкой ssl. Короче как я не старался так и не удалось мне следуя инструкции установить сеё чудо Но время я потратил на это прилично.
Потом на одном из форумов кто то упоминал что есть смыл проксировать данные чрез веб сервер. Так я выбрал апач2 и так что для этого надо.
- у нас уже есть установленный icecast2 с какой то точка монтирования http:mydomen:8000/live
- ставим апапч по любой из инструкций
- Ставим certbot и получаем сертификат на сервер . (там кстати в конце установки он поздравляет вас и пишит пути к сертификатам есть смысл их запомнить)
- И так у нас есть сервак который теперь открывается по https: настроим проксирование в конфигах апача configuration default-ssl.conf вместо дефаулт может быть имя вашего домена все зависит то как вы настраивали апач.
у меня содержание фала следующие.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName my1domen.ru
ServerAlias www.my1domen.ru
DocumentRoot /var/www/my1domen.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/my1domen.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my1domen.ru/privkey.pem
#Proxy Config
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
Proxypass / http://my2domen.ru:8000/live
ProxyPassReverse / http://my2domen.ru:8000/live
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
</IfModule>
потом перезагружаем сервак systemctl restart apache2
если падает с ошибкой проверяем что установлены модули проксирования proxy_http proxy_html proxy
и опять перезагружаем сервак.
все теперь по адресу https://my1domen.ru мы слушаем радио по защищенному соединению. Именно это ссылку и есть смысл подключать в плеера на сайтах.