Поиск:

Поиск по:

Результаты поиска по запросу «»
Найдено совпадений
По вашему запросу ничего не найдено
.
Показать еще

Автоматизация обновления SSL-сертификата через API NetAngels

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

Заказать выпуск сертификата вы можете в панели управления хостингом, в разделе "Сервисы / SSL-сертификаты". Для заказа доступны как платные SSL сертификаты от авторизованных центров сертификации, так и бесплатные от Let’s Encrypt.

В обоих случаях после выпуска сертификата его потребуется установить на сервер, как это сделать, рассказывается в статье "Как подключить SSL-сертификат для сайта на облачном VDS с панелью управления NetAngels"

В данной же статье мы рассмотрим процесс автоматизации обновления SSL-сертификата на выделенном сервере.

Для реализации поставленной задачи будем работать в Bash и использовать публичный API. Для этого в первую очередь понадобится получить API-ключ пользователя в панели управления хостингом.

Имея на руках API-ключ, вы сможете сгенерировать токен, используя POST-запрос по адресу https://panel.netangels.ru/api/gateway/token/. В запросе необходимо передать параметр api_key.

curl -s -k -X POST -d "api_key=0va4StAikXDoQzV21Sbuq7zRGeKnFOSfFosh92QlkKLeQeWxKC1xfjud"  "https://panel.netangels.ru/api/gateway/token/"

В результате ответа сервера вы получите JSON с полем token или 403ю ошибку. Во втором случае, пожалуйста, проверьте запрос на его корректность.

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.gQMT5BAT0Njntrt_6bi-iMITMMdMFxST0B23ClnTBiw"
}

Обращаем ваше внимание, что токен действителен всего сутки, поэтому его необходимо обновлять каждый раз, когда вы работаете с API.

Внимание! Дальнейший доступ к API всегда требует заголовок для авторизации: 'Authorization': Bearer {token}'

Заведем переменную для дальнейшего удобства:

token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.gQMT5BAT0Njntrt_6bi-iMITMMdMFxST0B23ClnTBiw"

Отправим GET-запрос по адресу https://api-ms.netangels.ru/api/v1/certificates/find для поиска сертификатов для нашего домена. В запросе необходимо использовать параметр domains.

curl -s -k -H "Authorization: Bearer ${token}" -X GET "https://api-ms.netangels.ru/api/v1/certificates/find/?domains=mydomain.ru"

Результатом сервер вернет JSON с масивом entities, содержащий все найденые сертификаты.

{
  "entities": [
    {
      "created": "2018-03-19 09:28:26",
      "domains": [
        "mydomain.ru",
        "www.mydomain.ru"
      ],
      "extension_period": 1,
      "id": 3244,
      "is_renewal": true,
      "name": "mydomain.ru",
      "not_after": "2019-03-19 23:59:59",
      "not_before": "2018-03-19 00:00:00",
      "publisher": "LetsEncrypt",
      "state": "Issued",
      "updated": "2018-03-19 09:49:33"
    }
  ]
}

Следующим пунктом будет скачивание сертификата, используя GET-запрос по адресу https://api-ms.netangels.ru/api/v1/certificates/<id>/download/, где <id> - id сертификата из предыдущего ответа. В качестве параметров GET-запроса можно использовать name - название архива и префиксов файлов в нем, а так же type - tar, targz, zip для формата скачиваемого архива

curl -s -k -H "Authorization: Bearer ${token}" -X GET \
"https://api-ms.netangels.ru/api/v1/certificates/3244/download/?name=mydomain.ru&type=tar" -o mydomain.ru.tar

Скачав тем самым архив на сервер, его достаточно распаковать и заменить старый сертификат на новый.

Внимание, путь распаковки архива в вашем случае может отличаться, скорректируйте его.

tar -xf mydomain.ru.tar -C /etc/nginx/ssl/mydomain.ru

После чего не забудьте перезапустить web-сервер.

nginx -t && nginx -s reload

Имея навыки программирования вы теперь можете скомпоновать все команды в один небольшой скрипт, используя любимый язык программирования, и установить его исполнение раз в неделю с помощью планировщика заданий Cron.

Рекомендуем вам ознакомиться так же с нашей статьей использование Cron на хостинге

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

Регистрация доменов

в зонах .RU .РФ

от 200 рублей Зарегистрировать домен

SSL сертификаты

Подтверждение сайта и надежная защита

передаваемых данных

Купить сертификат

Облачные VDS

дешевле чашки кофе

Процессорных ядер: 4, Память: 4 Гб, Диск: 20 Гб SSD, Резервное копирование

от 35 р/день Заказать VDS

Все, что нужно от хостинга

Простое решение для вашего сайта

Подробнее

Хранилище данных

Храни что хочешь по смешным ценам

Почасовая оплата за размещенные данные.

Заказать хранилище