Запрос SSL-сертификата в ServBay с помощью ACME
ServBay поддерживает автоматическую выдачу SSL/TLS сертификатов для ваших локальных сайтов разработки с использованием протокола ACME. Протокол ACME (Automated Certificate Management Environment) — это стандарт автоматизированного управления жизненным циклом сертификатов (запрос, продление и отзыв). С помощью панели управления ACME в ServBay вы сможете легко и быстро настроить доверенные SSL-сертификаты для локальных сайтов — это важно для имитации реального продакшена и тестирования функциональности, связанной с HTTPS.
По умолчанию ServBay использует сертификаты, выпущенные через ZeroSSL, однако вы также можете выбрать Let's Encrypt или Google Trust Services, а также любые другие CA, поддерживающие ACME.
TIP
Для максимального сходства локальной среды с боевой очень важно использовать доверенные SSL-сертификаты. Благодаря ACME-модулю ServBay процесс их получения становится максимально простым.
Ключевые понятия
Перед началом работы познакомьтесь с основными понятиями, необходимыми для эффективного использования ACME-функций в ServBay:
- Протокол ACME: Открытый стандарт для автоматического взаимодействия между центром сертификации (CA) и сервером — для упрощения запроса, продления и управления сертификатами.
- Проверка DNS-01 (DNS API-метод): ACME поддерживает несколько способов подтверждения прав на домен, основной для ServBay — DNS-01. CA предлагает добавить специальную TXT-запись в DNS вашего домена. После проверки существования и правильности этой записи сервис подтверждает, что вы контролируете домен. Преимущества:
- Не требуется доступ к вашему локальному сайту из интернета.
- Метод работает, даже если порты 80/443 на вашей машине блокируются фаерволом или провайдером.
- Внешняя привязка аккаунта EAB (External Account Binding): Некоторые CA (например, Google Trust Services или ZeroSSL) требуют первой привязки вашего ACME-клиента (в данном случае интегрированного acme.sh в ServBay) к аккаунту через EAB при первом запросе сертификата. Обычно это пара Key ID и HMAC Key.
- ECC против RSA-сертификатов:
- RSA: Классический алгоритм шифрования — максимально совместим, но для безопасности требует длинных ключей (2048 или 4096 бит) и более затратен по вычислениям.
- ECC (криптография на эллиптических кривых): Современный алгоритм с тем же уровнем безопасности при значительно меньшей длине ключа (256 или 384 бита). ECC-сертификаты обеспечивают лучшую производительность, более быстрые TLS-рукопожатия, меньший сетевой трафик и более высокий уровень форвардной секретности. По умолчанию ServBay рекомендует использовать именно их.
Необходимые условия
ACME-сертификаты в ServBay запрашиваются через DNS API, поэтому ваш сайт не должен быть доступен из интернета. Перед началом убедитесь в следующем:
- Владеете доменом: У вас должен быть свой зарегистрированный домен с возможностью управления DNS-записями.
- Получили API-ключ DNS-провайдера: Для автоматического добавления/удаления TXT-записей через DNS API в процессе ACME-запроса понадобится API-ключ или данные для доступа к вашему DNS-провайдеру (именно к платформе, управляющей DNS, не обязательно регистратору). Ознакомьтесь со списком поддерживаемых DNS-провайдеров и инструкциями по получению ключей на англоязычной Wiki
acme.sh
: How to use DNS API. Следуйте мануалу для вашего провайдера. - Получили данные EAB (для Google Trust Services или первого запроса в ZeroSSL): Если вы выбираете Google Trust Services как CA, получите EAB-данные через Google Cloud. См. документацию (EN): Obtaining EAB credentials from Google Cloud. ZeroSSL также может запрашивать подтверждение email или API-key при первом запросе.
Запрос SSL-сертификата через ACME в ServBay
Чтобы запросить и установить SSL-сертификат для локального сайта разработки в ServBay через ACME, выполните следующие шаги:
Откройте панель управления ServBay Запустите приложение ServBay и войдите в панель управления через иконку в системном трее или Dock.
Перейдите к управлению сертификатами В левой навигационной панели выберите раздел
SSL сертификаты
.Начните процедуру запроса В правом верхнем углу интерфейса SSL-сертификатов нажмите на кнопку
+
и выберитеЗапросить новый сертификат
.Заполните основную информацию
- Имя сертификата: Придумайте информативное название для сертификата, чтобы отличать его от других (например:
servbay-demo-ssl
). - Назначение: Выберите
TLS/SSL
. - Метод запроса: Укажите
ACME
.
- Имя сертификата: Придумайте информативное название для сертификата, чтобы отличать его от других (например:
Выберите CA (центр сертификации) В выпадающем списке
Выдавший
определите, через какого CA хотите получить сертификат. По умолчанию —ZeroSSL
. Можно выбратьLet's Encrypt
илиGoogle Trust Services
. Для примера здесь используетсяZeroSSL
.Выберите DNS API-провайдера В выпадающем списке
DNS API провайдер
выберите ту платформу, через которую управляется DNS вашего домена. Например, если ваш DNS на Cloudflare, выберитеCloudflare
. Важно: выбирается именно хостер DNS, а не всегда регистратор.Выберите алгоритм и длину ключа
- Алгоритм: По умолчанию —
ECC
(рекомендовано для лучшей скорости и безопасности). Для поддержки старых устройств можно использоватьRSA
. - Длина ключа: Для ECC обычно подходит стандартное значение
384
бит. Для RSA —2048
или4096
бит.
- Алгоритм: По умолчанию —
Внесите данные для верификации В зависимости от выбранного CA и DNS API-провайдера появятся соответствующие поля для ввода информации.
- Для ZeroSSL может потребоваться указать email.
- Для Cloudflare DNS API — API-ключ или иной доступ. Следуйте рекомендациям в Wiki по соответствующему провайдеру.
WARNING
Внимание: Вводите только значение ключа или секрета, без префикса командной строки (например,
export
и т. д.).Укажите домен Впишите доменное имя, для которого запрашивается сертификат (например:
servbay.demo
или*.servbay.demo
). Для wildcard-сертификатов убедитесь, что ваш DNS-провайдер поддерживает автоматизацию TXT-записей для поддоменов.Начните запрос Проверьте, что всё заполнено корректно, затем нажмите
Запросить
. ServBay вызовет встроенный инструментacme.sh
, который при помощи вашего DNS API автоматически валидирует домен и отправит заявку на выпуск сертификата в CA.
Процесс может занять немного времени — зависит от скорости обновления DNS и реакции CA. Отслеживайте ход запроса в логах или списке сертификатов ServBay. После успеха новый сертификат отобразится в списке SSL сертификаты
.
Использование сертификата на сайте в ServBay
После успешного выпуска ACME-сертификата вы можете применить его к выбранному сайту, настроенному в ServBay:
- Откройте раздел
Сайты
в левой части панели управления ServBay. - Найдите нужный сайт, для которого требуется SSL, и нажмите на значок редактирования (карандаш).
- В настройках сайта найдите пункт
SSL сертификат
. - В выпадающем списке выберите только что полученный ACME-сертификат.
- Убедитесь, что тумблер
Включить SSL
активирован. - Сохраните настройки сайта. Теперь сайт будет доступен по HTTPS.
Продление ACME-сертификатов
Сертификаты, выданные через ACME (например, через Let's Encrypt или ZeroSSL), обычно действуют 90 дней. Чтобы ваш сайт оставался доступен по HTTPS, сертификаты должны продлеваться до истечения срока.
ServBay автоматически отслеживает срок действия ACME-сертификатов. При приближении даты истечения ServBay попробует продлить их с помощью ранее сохраненной информации для DNS API.
В обычных условиях, пока ваши DNS-ключи валидны и сервис DNS стабилен, ручное вмешательство для продления не требуется — всё делается в фоне автоматически.
Частые вопросы (FAQ) и устранение проблем
- Запрос не удался, ошибка DNS-проверки
- Проверьте правильность введённых данных для DNS API и наличие прав на изменение TXT-записей.
- Убедитесь, что выбранный в ServBay
DNS API провайдер
совпадает с вашим реальным провайдером DNS. - Подождите: распространение новых DNS-записей по миру может занять несколько минут или больше. Попробуйте позже снова.
- Проверьте правильность написания домена.
- Запрос не удался, ошибка EAB
- Если используете Google Trust Services или ZeroSSL впервые — проверьте наличие и корректность данных EAB.
- При предыдущем успешном запросе и текущей ошибке — возможно, EAB устарел или недействителен, получите данные заново.
- Ошибка лимитов (Rate Limit)
- CA ограничивают количество запросов на сертификаты для конкретного домена/адреса за определённое время. При слишком частых или массовых запросах лимит может быть исчерпан. Подождите несколько часов или дней и повторите попытку.
- Сертификат успешно установлен, но сайт в браузере отмечается как незащищённый
- Убедитесь, что новый сертификат назначен для нужного сайта в настройках ServBay и включёна опция SSL.
- Попробуйте очистить кэш браузера или воспользоваться режимом инкогнито.
- Проверьте ваш hosts-файл и сетевые настройки — домен должен указывать на ServBay.
- Когда проходит авто-продление сертификата? ServBay обычно инициирует автоматическое продление за определённое количество дней до окончания действия сертификата (например, за 30 дней). Если приложение ServBay запущено и интернет соединение стабильно, всё произойдёт автоматически в фоне.
Заключение
ServBay предоставляет мощные и простые средства для работы с ACME, позволяя удобно и безопасно получать и управлять доверенными SSL/TLS сертификатами для локальных проектов с помощью DNS API. Это не только упрощает настройку HTTPS, но и позволяет испытать локальное окружение максимально приближённым к реальному продакшену для более эффективной разработки и тестирования.
Надеемся, эта статья поможет вам настроить и использовать SSL-сертификаты через ACME в ServBay, улучшая ваш опыт локальной разработки.