Как установить SSL сертификат Let's Encrypt на Windows Server (IIS)
Что за сертификат Let’s Encrypt?
Let’s Encrypt - бесплатный, автоматизированный и открытый Центр Сертификации, созданный на благо всего общества организацией Internet Security Research Group (ISRG). Мы помогаем людям выпускать SSL/TLS сертификаты для их сайтов с доступом по HTTPS, бесплатно, максимально облегчая процесс выдачи. Потому что хотим сделать интернет безопасным, и уважающим конфиденциальность его пользователей. letsencrypt.org
Куда и зачем мне нужен был SSL сертификат
Начнём с того, что SSL (Secure Sockets Layer) сертификат защищает данные пользователей, которые передаются по сети. Для интеграции с одним из известных маркетплейсов мне нужно было использовать web-сервис 1С и на тестовом Windows Server, на котором был развёрнут тестовый сервер 1С, был поднят IIS (internet Information Services). Веб сервер Windows.
В требованиях обмена маркетплейса было указано что обмен должен идти через защищенный HTTPS протокол. И не через IP адрес, а через домен. Ниже расскажу последовательность моих действий:
- Установка Windows Server
- Установка Ролей ISS и DNS
- Установка Сервера 1С
- Подключение модуля расширения веб-сервера
- Скачиваем программу LetsEncrypt для Windows
- Настраиваем DNS
- Настраиваем шлюз (в моём случае это был Kerio Control)
- Выпускаем SSL сертификат LetsEncrypt
- Проверяем привязку в Диспетчере служб IIS
- Проверяем планировщик заданий на наличие таска для перевыпуска сертификата
Установку Windows Server и сервера 1С я тут рассматривать не буду, так как. Во-первых Windows Server установка мало чем отличается от установки обычной десктопной винды, а по 1С можно почитать эту статью. Во-вторых я хочу рассказать именно про то как установить SSL сертификат от Let's Encrypt на Windows Server IIS. Начнём!
Установка SSL сертификата на IIS
Скачиваем программу LetsEncrypt-Win-Simple
Для того чтобы выпустить сертификат на Windows Server IIS на необходима программа LetsEncrypt-Win-Simple. Качаем её на официальном сайте www.win-acme.com
Скачиваем и распаковываем архив в директорию на жёстком диске. Для выпуска сертификата нам нужно будет запустить из каталога файл wacs.exe. Но это чуть позже.
Если мы сейчас попытаемся выпустить сертификат, то получим предупреждение
No sites with host bindings have been configured in IIS. Add one in the IIS Manager or choose the plugin 'Manual input' instead.
Добавим веб-сайт в Диспетчере служб IIS
Запускаем Диспетчере служб IIS через панель управления - администрирование. Или через WIN + R
InetMgr.exe
Добавляем записи в Диспетчере DNS
Открываем Диспетчер DNS через команду выполнить WIN + R (или любым удобным для вас способом 😉 )
dnsmgmt.msc
Выбираем сервер, правой кнопкой по каталогу сайтов и нажимаем Добавить веб-сайт... Указываем каталог для нового сайта. Дальше нам нужно создать псевдоним CNAME в зоне прямого просмотра (forward lookup zones).
Так как домен у меня находится у хостинг провайдера, то я на всякий случай указал в Диспетчере DNS его NS сервера. В свою очередь у хостинг провайдера прописываем A запись с нашим выделенным IP адресом. Позже мы настроим правило для того чтобы входящее соединение перебрасывало на нужный сервер.
Выпуск SSL сертификата Let's Encrypt
И так. У нас есть 1С сервер с расширением веб-сервера, добавили DNS и CNAME записи, указали A запись. Теперь запускаем WACS.EXE и вводим букву N для инициирования выпуска сертификата. Далее выбираем на какой домен будем выпускать сертификат, даём пару соглашений (y) и вводим email адрес, куда нам будут приходить уведомления в случае каких-либо проблем (Enter email for notifications about problems and abuse).
В принципе всё готово. По части сертификата. Программа автоматически добавляет привязку 443 SSL порта к сайту в Диспетчере служб IIS и в Планировщике заданий таск на автоматический перевыпуск сертификата, но можно в этом убедиться самостоятельно
Настройка шлюза (роутера)
В моём случае это был Kerio Control. Я добавил правило для всех входящих по HTTPS (443 порт) и по HTTP (80 порт) переадресацию на нужный сервер IIS с SSL сертификатом
И теперь, когда мы перейдём по ссылке https://domain.site то мы увидим заветный замочек в левом углу адресной строки 😎 Всё готово!