Запит SSL-сертифіката для сайту в ServBay через ACME
ServBay підтримує автоматичне отримання SSL/TLS сертифікатів для локальних сайтів розробки за допомогою протоколу ACME. ACME (Automated Certificate Management Environment) — це стандартний протокол для автоматизованого керування життєвим циклом сертифікатів, включаючи отримання, оновлення та відкликання. Завдяки спеціальній панелі керування ACME у ServBay ви легко зможете налаштувати довірені SSL-сертифікати для своїх локальних сайтів, що особливо важливо для імітації продакшн-середовища та тестування функцій, пов’язаних із HTTPS.
За замовчуванням ServBay використовує ZeroSSL для випуску сертифікатів, але ви також можете вибрати Let's Encrypt чи інші ACME-сумісні сертифікаційні центри (CA), такі як Google Trust Services.
TIP
Щоб локальне середовище розробки максимально відповідало продакшн-середовищу, важливо використовувати довірені SSL-сертифікати. Функціонал ACME в ServBay робить цей процес неймовірно простим.
Основні поняття
Перед початком роботи рекомендуємо ознайомитись з ключовими поняттями, які допоможуть краще використовувати можливості ACME у ServBay:
- Протокол ACME: Відкритий стандарт автоматизації взаємодії між сертифікаційними центрами (CA) і серверами для запиту, оновлення та керування сертифікатами.
- DNS-01 перевірка (через DNS API): ACME підтримує різні способи підтвердження володіння доменом. Основний у ServBay — це DNS-01, коли CA вимагає додати спеціальний TXT-запис у DNS вашого домену. Якщо цей запис існує і містить вірну інформацію, CA підтвердить ваше право на домен. Переваги цього методу:
- Ваш локальний сайт НЕ обов’язково повинен бути доступний з інтернету.
- Навіть якщо порти 80/443 заблоковані фаєрволом чи ISP, перевірку можна виконати.
- Зовнішнє прив’язування акаунта (EAB - External Account Binding): Для окремих CA (наприклад, Google Trust Services чи ZeroSSL) під час першого отримання сертифіката через ACME потрібно прив’язати ACME-клієнт (у нашому випадку, acme.sh, інтегрований у ServBay) до вашого акаунта через EAB — зв’язка з Key ID та HMAC Key.
- ECC та RSA сертифікати:
- RSA: Традиційний криптографічний алгоритм із широкою підтримкою, але потребує більших ключів (2048 чи 4096 біт) для безпеки, що збільшує обчислювальні витрати.
- ECC (еліптична криптографія): Сучасніший алгоритм, який забезпечує такий самий рівень безпеки з коротшими (256 або 384 біт) ключами. Сертифікати ECC швидші, забезпечують більш короткі рукопотискання, менше споживають пропускної здатності та мають кращу пряму секретність. У ServBay за замовчанням рекомендується обирати ECC.
Необхідні умови
ACME-сертифікати в ServBay отримуються через DNS API — ваш сайт не має бути відкритим для Інтернету. Перед тим як подавати заявку на SSL-сертифікат, впевніться, що виконується наступне:
- Ви маєте домен: Потрібен зареєстрований домен, у якому ви можете змінювати DNS-записи.
- API-ключ від постачальника DNS: Під час ACME-запиту потрібно автоматично додавати/видаляти TXT записи через API. Отже, необхідно отримати API-ключ чи інші облікові дані від платформи, яка надає DNS для вашого домену (це може бути не обов’язково реєстратор!). Дивіться список підтримуваних постачальників та процес отримання API KEY у Wiki по
acme.sh
(англ.): How to use DNS API. Скористайтеся інструкціями для свого DNS-провайдера. - Отримані дані EAB (для Google Trust Services чи першого запиту у ZeroSSL): Якщо обраний Google Trust Services як центр сертифікації, треба отримати дані EAB з Google Cloud (інструкція, англ.: Obtaining EAB credentials from Google Cloud). Для ZeroSSL може знадобитися підтвердження email чи API Key під час першого звернення.
Запит ACME SSL-сертифіката у ServBay
Щоб отримати SSL-сертифікат через ACME для локального сайту у ServBay, виконайте такі кроки:
Відкрийте панель керування 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 для вашого домену (наприклад,Cloudflare
). Зверніть увагу: обирайте платформу, яка дійсно обслуговує DNS — це може бути не той самий сервіс, де ви купували домен!Виберіть алгоритм для сертифіката та довжину ключа
- Алгоритм: За замовчуванням рекомендується
ECC
, але для повної сумісності зі старими пристроями можна вибратиRSA
. - Довжина ключа: Для ECC зазвичай обирається 384 біти. Для RSA — часто 2048 або 4096 біт.
- Алгоритм: За замовчуванням рекомендується
Вкажіть дані для верифікації Залежно від вибраного CA та DNS API з’являться відповідні поля для введення даних.
- Для ZeroSSL — можливо, потрібен email.
- Для Cloudflare DNS API — API Key чи подібні облікові дані. Перевіряйте вимоги у Wiki
acme.sh
для вашого провайдера.
WARNING
Увага: Вводьте лише саме значення API-ключа чи секрету, не додавайте у поле команди типу
export
тощо.Вкажіть домен
У поліДомен
введіть домен, для якого видається сертифікат (наприклад:servbay.demo
або*.servbay.demo
). Для wildcard(*.domain) сертифікатів потрібно, щоб ваш DNS API підтримував автоматичне додавання TXT записів для wildcard.Почніть процедуру
Перевірте всі введені дані й натиснітьЗапит
. ServBay скористається інтегрованим інструментомacme.sh
, автоматично проведе верифікацію домена через ваш DNS API та звернеться до CA для видачі сертифіката.
Процес може тривати певний час, залежно від швидкості поширення DNS-записів та відповіді CA. Слідкуйте за статусом у логах чи списку сертифікатів у ServBay. Після успішного отримання новий сертифікат з’явиться у списку SSL сертифікати
.
Використання сертифіката у налаштуваннях сайту ServBay
Після отримання ACME-сертифіката ви можете застосувати його до вашого сайту в ServBay:
- Відкрийте у лівому меню пункт
Сайти
. - Виберіть сайт, де потрібно ввімкнути SSL, натисніть кнопку редагування (іконка олівця).
- У деталях налаштувань знайдіть опцію
SSL сертифікат
. - У випадаючому меню оберіть той ACME-сертифікат, що щойно отримано.
- Переконайтесь, що перемикач
Увімкнути SSL
активовано. - Збережіть зміни. Тепер ваш сайт має бути доступним через HTTPS.
Оновлення ACME-сертифіката
Сертифікати, видані через ACME (наприклад, Let's Encrypt чи ZeroSSL), зазвичай дійсні 90 днів. Щоб ваш сайт постійно був захищений HTTPS, потрібно своєчасно продовжувати сертифікати.
ServBay автоматично відслідковує строк дії ACME-сертифікатів і завчасно ініціює процедуру оновлення за допомогою вже налаштованого DNS API.
Якщо API-ключ і DNS працюють справно, вам не потрібно нічого робити вручну — ServBay все зробить у фоновому режимі.
Поширені питання (FAQ) та усунення проблем
- Помилка при запиті: збої у DNS-перевірці?
- Перевірте API-ключ/жетон, чи має він дозвіл на зміну TXT-записів.
- Переконайтесь, що обрали у ServBay правильного постачальника DNS API (той, який реально обслуговує ваш DNS).
- Поширення DNS-записів займає час, зачекайте кілька хвилин і спробуйте знову.
- Перевірте відсутність помилок у написанні домену.
- Помилка EAB у запиті?
- Для Google Trust Services чи ZeroSSL (при першій подачі заявки) перевірте коректність введення EAB-ідентифікаторів.
- Якщо раніше працювало, а зараз — ні, можливо, EAB дані стали недійсними або сплив термін дії.
- Досягнуто ліміту запитів (Rate Limit)?
- CA може обмежувати кількість заявок для одного домену чи IP за певний час. Не подавайте забагато запитів поспіль, зачекайте від кількох годин до кількох днів.
- Сертифікат отримано, але браузер вважає сайт незахищеним?
- Перевірте, чи застосовано новий сертифікат у налаштуваннях сайту ServBay і чи увімкнено SSL.
- Очистьте кеш браузера або використовуйте інкогніто-режим.
- Перевірте локальний файл Hosts чи інші налаштування мережі.
- Коли ServBay ініціює автоматичне оновлення? ServBay зазвичай починає процедуру оновлення за кілька тижнів (наприклад, за 30 днів) до завершення терміну чинності сертифіката. Головне, щоб додаток ServBay був запущеним, і був доступ до мережі.
Підсумок
ServBay надає потужний і зрозумілий функціонал для ACME, який дозволяє розробникам швидко й зручно отримувати та керувати довіреними SSL/TLS сертифікатами через DNS API для своїх локальних сайтів. Це не лише спрощує налаштування HTTPS, але й допомагає будувати локальне середовище максимально близьке до бойового — для ефективної розробки та тестування.
Сподіваємося, що ця стаття допоможе вам легко налаштувати SSL-сертифікати через ACME в ServBay та покращити досвід локальної розробки.