Icecast https (Nginx прокси)

June 22, 2019

Последней проблемой при установке и настройке радиостанции было отсутсвие https на контрольной панели, аудиопотоке и json-файлах с метаданными. Icecast автоматически устанавливается по адресу http://127.0.0.69:8000, а сам аудиопоток, соответственно, http://127.0.0.69:8000/listen.mp3

На дворе 2019 год, и любой современный браузер будет если не ругаться, то сообщать о небезопасном сайте, если подключение происходит без https, а значит при добавлении плеера с нашим аудиопотоком страница будет считаться небезопасной.

Решение оказалось проще, чем я думал - проксирование с помощью Nginx.

Установка Nginx на Ubuntu:

sudo apt-get update 
sudo apt-get install nginx

Идея простая: перенаправлять запрос на нужный адрес с http с какого-нибудь адреса с https (считаем, что домен с SSL, пусть этой будет бесплатный Let's Encrypt, у вас есть):

При переходе на https://domain.com/radio получать информацию с http://127.0.0.69:8000/listen.mp3

Файл /etc/nginx/vhosts/www-root/domain.com.conf - конфигурация Nginx для этого домена. Нам нужна часть с location:

Добавляем (не заменяем, а добавляем) часть кода:

Таким образом, при переходе на https://domain.com/radio мы получим аудиопоток с http://127.0.0.69:8000/listen.mp3, сохранив https и теперь перед браузером не будет стыдно.