53

Сертификат Let's Encrypt вручную, без автоматики, на windows

UPD:

ПОШУЛ НАХУЙ ПИКАБУ ЕБАНЫЙ

Как и обещал, вот инструкция как получить сертификат SSL для сайта: бесплатно, без линуксов, если ваша панель управления сайтом не поддерживает его выпуск в автоматическом режиме.

Этот вариант подходит например тем, кто хостится у ру-центра (nic.ru) - там специально не вводят автоматику установки сертификата, чтобы продавать задорого то, что давно не нужно.

Увы, большинство инструкций или ведут на платные сервисы, или на линуксовые инструкции для хостингов, чтобы найти вариант "на домашнем компе и без заморочек с автоматикой", пришлось напрячься, так что если кому-то время сэкономлю - будет уже неплохо.


Итак, сперва нам надо скачать последнюю версию клиента win-acme с официального сайта: https://www.win-acme.com/

Распаковываем в удобное место, запускаем wacs.exe:

Выбираем N для создания нового сертификата, и 2 для ручной настройки:

Вводим адрес нашего домена, и тут я рекомендую через запятую ввести его в формате "www.домен".

В следующем пункте выбираем 3 (загрузить файл верификации по FTP):

Краткая справка: для выпуска сертификата сервис должен проверить, что вы действительно владеете этим сайтом. Самый простой способ - программа генерирует специальный файл, загружает его на ваш сервер, сервис проверяет его корректность, и только после этого происходит генерация сертификатов. Можно проверить и другими способами, но для конечного пользователя, которых хочет просто чтобы google chrome не рисовал страшилки о небезопасном соединении, это хватит за глаза. Так же, можно и вручную нужный файл грузить... Но за чем, если данная прога это сделает за вас?)

Далее у нас просит адрес вашего FTP с сайтом. Посмотреть его можно в панели управления сайтом на вашем хостинге, при чём путь должен быть именно до папки, где хранятся сами файлы сайта. Если вы тоже используете nic.ru, то это проще всего сделать путём создания нового пользователя FTP - просто укажите ему доступ к папке конкретного сайта:

В противном случае, вам надо будет сперва подключиться имеющимся пользователем по FTP и найти там папку с файлами сайта, и прописать путь именно до неё. На примере того же ру-центра, это выглядит как "ftp://ftp.ИМЯ_АККАУНТА.nichost.ru:21/home/ИМЯ_АККАУНТА/ИМЯ_...". На крайняк - с этим может помочь техподдержка хостинга, только не говорите, что вам для установки сертификата, потому что я однажды столкнулся с полным забиванием на мои запросы после этого (ага, как же иначе - посмел покуситься на потенциальную прибыль барыг).

Далее нам надо отказаться от загрузки вебконфига (просто тыкаем enter), ввести имя пользователя FTP, которого мы создали, выбрать ввод пароля в консоли (2), ввести сам пароль, отказаться от его сохранения (enter):

Далее надо выбрать тип файла, в котором нам отдадут сертификат. Почти наверняка вам понадобится формат PEM, так что выбираем пункт 2 (если вдруг не подойдёт - в техподдержку, или попробуйте другие форматы).

Следующим пунктом идёт место сохранения сертификата. Проще всего - в папке программы создайте папку SSL, и скопирeйте прямо из окна проводника путь (для вставки скопированного текста - нажмите правой кнопкой мыши в окне программы):

Далее соглашаемся ввести пароль от приватного ключа в консоли (2), придумываем и вводим пароль, отказываемся от сохранения (enter), и отказываемся от выполнения дополнительных скриптов (3):

Всё, осталось только дождаться завершения проверки и выпуска сертификата. Если всё правильно сделали - это максимум пара минут, и видим заветное "certificate ... created"!

А в созданной папке для сертификатов появилось 4 файла:

Нам отсюда обычно нужны только файлы сертификата (-crt) и ключа (-key).

Дальше - надо загрузить их на хостинг, и тут уже зависит от конкретного хостинга. Я покажу на примере ру-центра.

В панели управления хостингом выбираем "Сайты", потом ваш сайт, вкладку "Безопасность", при необходимости включаем "Защищенное HTTPS-соединение" и нажимаем на "Добавить/сменить сертификат".

Тут нам надо скормить полученный файлы хостеру. Выбираем напротив "сертификат" кнопку "загрузить файл", грузим файл с crt в названии, аналогично с приватным ключом, вводим под ним пароль, который мы задали ранее, и нажимаем на "Установить":

Поздравляю, сертификат установлен!

Поверить срок действия можно в разделе "безопасность" конкретного сайта:

Через без копеек 3 месяца надо будет повторить процесс, но win-acme сохранил данные (кроме паролей), и при запуске надо будет выбирать не "N: Create certificate", а "R: Run renewals".

1
Автор поста оценил этот комментарий
За инструкцию спасибо, но повторять все каждые 3 месяца вручную это перебор.
раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Если домен один, и на хостинге нет скрипта автопродления - то почему бы и нет. Так-то везде давно панель со встроенным летсэкнкрипт, но вот есть упёртые клиенты, которые ну ни в какую хостинг менять не хотят, и там приходится ручками. Я за это даже денег не беру - полчаса в год, 4 раза по напоминалке в календаре залить свежий серт в панель не сложно.

0
Автор поста оценил этот комментарий

Не подскажите в чем может быть причина? У меня три компа(дома два, 10-ка и 7-ка и рабочий 8,1), так вот на 10-ке вообще не генерируется сертификат, на 8,1 три месяца назад делал, все сразу получилось, а вчера пробовал, не получилось. с 7-кой вообще без проблем. Все делается абсолютно одинаково с соблюдением всех правил. Антивирусы везде одинаковые.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Сертификат на вашем компе не генерируется. Утилита только посредник между серверами летсэнкрипта и хостингом (сервер генерирует файлик, утилита кладёт его по фтп на хостинг, сервер проверяет что файл появился, генерирует вам файлы сертификатов и скачивает на комп).

Чтобы понять, в чём загвостка, надо смотреть на каком этапе идёт ошибка. Покажите хотя бы логи для начала.

А так причин вагон может быть - некорректно записываются адреса, не открыты порты, брандмауер шалит, нет нужных библиотек, кодировки шалят...

показать ответы
0
Автор поста оценил этот комментарий

Утилита wacs умеет работать с параметрами командной строки. Можно в планировщик, например, добавить задание с ключами --renew и --baseuri "https://acme-v02.api.letsencrypt.org/"

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Но если хостер не поддерживает автоматическую установку сертификатов, тотвсё равно их потом вручную ставить.