Как получить бесплатный SSL-сертификат для сайта и IceCast на Windows Server 2022?

У меня на облачном сервере установлен Windows Server 2022 и программа IceCast, а также подключен поддомен. После установки "Диспетчера служб IIS" поддомен был добавлен в список сайтов с открытым портом *:80. Однако IceCast использует порт *:8000 для работы с поддоменом. Я открывал этот порт в брандмауэре Windows, и теперь поддомен открывается без проблем: <a href="http://onair.moefm.ru:8000" rel="nofollow">onair.moefm.ru:8000</a>. Хотелось бы улучшить ситуацию и запустить поддомен через HTTPS, но для этого нужен SSL-сертификат. В настройках IceCast строки, касающиеся SSL, закрыты: 
<br/><br/>
<pre><code>&lt;!--
    &lt;listen-socket&gt;
        &lt;port&gt;8443&lt;/port&gt;
        &lt;ssl&gt;1&lt;/ssl&gt;
    &lt;/listen-socket&gt;
    --&gt;
   &lt;!-- SSL-сертификат должен содержать как публичную, так и приватную части. Оба должны быть закодированы в PEM.
        &lt;ssl-certificate&gt;./icecast.pem&lt;/ssl-certificate&gt;
   --&gt;</code></pre> 
<br/><br/>
Таким образом, мне необходимо открыть порт *:8443 и получить SSL-сертификат для поддомена, а затем внести эти данные в icecast.pem. Однако я сталкиваюсь с проблемами. Я нашел <a href="https://www.youtube.com/watch?v=zf6zkGYimn8" rel="nofollow">видео по установке сертификата</a>, но сертификат устанавливается на добавленный сайт в IIS, и я не вижу, как получить его данные для icecast.pem. Также я пытался загрузить <a href="https://github.com/certbot/certbot/releases/download/v2.11.0/certbot-beta-installer-win_amd64_signed.exe" rel="nofollow">Certbot 2</a>. 
  • 27 октября 2024 г. 16:52
Ответы на вопрос 2
Чтобы получить бесплатный SSL-сертификат для вашего IceCast-сервера на Windows Server 2022, вы можете воспользоваться услугами Let's Encrypt и Certbot. Однако, поскольку Certbot обычно используется на системах Unix/Linux, процесс настройки на Windows может быть немного сложнее. Давайте рассмотрим шаги, которые помогут вам получить сертификат и настроить его:

### Шаг 1: Установка WSL (Windows Subsystem for Linux)

Если вы хотите использовать Certbot, рекомендуется установить WSL на вашем Windows Server 2022:

1. Откройте PowerShell от имени администратора.
2. Введите следующую команду для установки WSL:
   ```powershell
   wsl --install
   ```
3. Перезагрузите сервер при необходимости.

### Шаг 2: Установка Ubuntu (или другой Linux-дистрибутив)

После перезапуска:

1. Перейдите в Microsoft Store и установите Ubuntu (или другой дистрибутив).
2. Запустите Ubuntu и выполните первоначальную настройку.

### Шаг 3: Установка Certbot

Теперь в Ubuntu мы установим Certbot:

1. Обновите пакеты:
   ```bash
   sudo apt update
   sudo apt install certbot
   ```

### Шаг 4: Получение SSL-сертификата

Для получения сертификата выполните следующие команды:

1. Откройте терминал Ubuntu.
2. Выполните команду:
   ```bash
   sudo certbot certonly --standalone -d onair.moefm.ru
   ```
3. Следуйте инструкциям на экране. Certbot запустит временный сервер и проверит, что домен действительно указывает на ваш сервер.

### Шаг 5: Конвертация сертификата в формат PEM

Certbot по умолчанию сохраняет сертификаты в следующем пути:
```
/etc/letsencrypt/live/onair.moefm.ru/fullchain.pem
/etc/letsencrypt/live/onair.moefm.ru/privkey.pem
```

Чтобы использовать эти файлы с IceCast, вам нужно их скопировать в Windows и объединить в один файл `icecast.pem`. Для этого:

1. Скопируйте оба файла (`fullchain.pem` и `privkey.pem`) на ваш Windows-сервер. Вы можете использовать `scp` или любой другой способ.

2. Объедините их в один файл:
   ```bash
   cat privkey.pem fullchain.pem > icecast.pem
   ```

### Шаг 6: Настройка IceCast на использование SSL

1. Поместите полученный файл `icecast.pem` в папку, где находится ваш IceCast.

2. Откройте конфигурационный файл IceCast (обычно `icecast.xml`) и измените настройки для включения SSL, добавив или раскомментировав необходимые строки:
   ```xml
   <listen-socket>
       <port>8443</port>
       <ssl>1</ssl>
   </listen-socket>
   <ssl-certificate>/path/to/icecast.pem</ssl-certificate>
   ```

### Шаг 7: Открытие порта в брандмауэре

1. Откройте порт 8443 для вашего IceCast в брандмауэре Windows.

### Шаг 8: Перезапуск IceCast

Перезапустите IceCast, чтобы применить изменения.

### Шаг 9: Проверка

Перейдите по адресу `https://onair.moefm.ru:8443` и проверьте, работает ли ваш стрим через HTTPS.

### Важно

- Не забывайте периодически обновлять ваш сертификат. Certbot автоматически обновляет сертификаты, но для Windows-серверов вам нужно будет настраивать автоматизацию самостоятельно.
- Для полной автоматизации вы можете создать планировщик задач Windows, чтобы автоматически выполнять команды обновления Certbot через некоторое время.

Теперь ваш IceCast должен работать через HTTPS!
Похожие вопросы