Усунення неполадок з SSL сертифікатами та ServBay CA
Цей документ містить типові проблеми та методи усунення неполадок із SSL сертифікатами та ServBay CA у локальному середовищі розробки ServBay.
Чому браузер повідомляє, що SSL сертифікату не довіряють?
Якщо при спробі зайти на локальний сайт, розміщений через ServBay, браузер показує такі попередження — це означає, що виникли проблеми з налаштуванням SSL сертифіката:
- Chrome / Edge:
Your connection is not private
(Ваша з'єднання не є приватним)- Код помилки
NET::ERR_CERT_AUTHORITY_INVALID
- Код помилки
NET::ERR_CERT_COMMON_NAME_INVALID
(рідше, але може виникати, якщо ім’я домену не відповідає сертифікату)
- Firefox:
Warning: Potential Security Risk Ahead
(Попередження: Можлива небезпека для безпеки)- Після натискання “Додатково” може з’явитись код
SEC_ERROR_UNKNOWN_ISSUER
- Код помилки
SSL_ERROR_BAD_CERT_DOMAIN
(якщо ім’я домену не співпадає з сертифікатом)
- Safari:
This Connection Is Not Private
(Це з'єднання не є приватним)Safari can't verify the identity of the website "your-domain.test"
(Safari не може підтвердити ідентичність сайту “your-domain.test”)
Головна причина такої проблеми — ServBay User CA
та ServBay Public CA
не були правильно встановлені та довірені системою. Це може бути наслідком:
- Кореневий сертифікат ServBay не додано до списку довірених сертифікатів системи.
- Ви раніше використовували той самий домен (наприклад,
myapp.test
) у MAMP / Laravel Herd чи іншому середовищі розробки, де їхні сертифікати конфліктують із сертифікатами ServBay або мають власні проблеми із довірою, через що браузер кешує неправильну інформацію чи конфліктний сертифікат.
Рішення
Скористайтеся такими діями:
- Відкрийте ServBay
- Перейдіть до налаштувань (Settings) і знайдіть розділ ServBay Root CA.
- Натисніть Reinstall ServBay Root CA (Переінсталювати ServBay Root CA). ServBay автоматично виправить проблеми з інсталяцією та довірою кореневого сертифіката.
- Повністю закрийте і знову відкрийте ваш браузер (переконайтеся, що всі вікна та процеси завершені — це очистить кешований стан SSL).
- Перевірте роботу сайту. Помилка SSL сертифікату має зникнути.
Якщо проблема залишається:
Зазвичай це означає, що у системі залишились старі, конфліктні або недійсні сертифікати — особливо якщо ви раніше генерували сертифікати для цього домену через MAMP або Herd.
- Відкрийте засіб керування сертифікатами вашої системи:
- macOS: Запустіть Keychain Access (Доступ до зв'язки ключів) у “Додатки” > “Службові програми”.
- Windows: Натисніть Win+R, введіть
certmgr.msc
, натисніть Enter.
- У правому верхньому полі пошуку введіть проблемний домен (наприклад,
myapp.test
; якщо не впевнені — спробуйте шукувати за словамиmamp
чиherd
). - У верхній панелі “Тип”, виберіть Сертифікати (Certificates).
- Перегляньте всі знайдені SSL сертифікати для цього домену. Особливо зверніть увагу на “Issuer” (Видавник) — це може бути
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
чи подібні. - Виділіть знайдені сертифікати для домену (особливо ті, які не видані
ServBay User CA
або виглядають підозріло), натиснітьDelete
для видалення. Система може запросити вам пароль. Будьте обережні, видаляйте тільки сертифікати для вашого локального домену. - (За бажанням, рекомендується) У Keychain Access пошукайте ще
ServBay User CA
таServBay Public CA
, переконайтеся, що сертифікати існують і не мають червоного “x” (позначає недовіру). Якщо сертифікат не довірений — відкрийте сертифікат, розгорніть розділ “Довіра (Trust)” і виберіть “Завжди довіряти (Always Trust)”. - Поверніться до додатка ServBay.
- Перейдіть до Налаштування (Settings) -> ServBay Root CA.
- Натисніть Recreate All ServBay User Certificates (Перегенерувати всі сертифікати ServBay User). Це створить нові SSL сертифікати для всіх сайтів під управлінням ServBay.
- Перезавантажте комп’ютер. Це допоможе системі оновити всі компоненти, послуги та довіру до сертифікатів.
- Відкрийте браузер і знову перевірте сайт.
Завдяки наведеним прикладам типових помилок, користувачі швидше визначають, чи проблема стосується довіри до SSL сертифіката, і знаходять відповідне рішення.
Що робити, якщо SSL сертифікат втрачено?
Під час роботи з локальними сайтами у ServBay іноді трапляється випадкова втрата файлів SSL сертифіката. Це призводить до неможливості запуску Web-сервера (Nginx, Caddy чи Apache) або його некоректної роботи, а в логах з’являються повідомлення про проблеми з файлами сертифікатів.
Опис проблеми
Якщо SSL сертифікати (.crt
та .key
), автоматично створені ServBay для сайту, втрачені, у логах Web-серверу може з’явитися щось подібне. Такі помилки означають, що сервер не може знайти чи прочитати файл сертифіката.
Ось типові приклади повідомлень про помилки:
Повідомлення Nginx:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Повідомлення Caddy:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Повідомлення Apache:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
У всіх цих випадках суть однакова: шлях до SSL сертифікату у конфігурації Web-сервера вказує на неіснуючий або недоступний файл.
Рішення
Для SSL сертифікатів, які автоматично підписує ServBay, можна скористатися зручним механізмом автоматичного виявлення та повторного створення сертифіката.
Дії такі:
- Запустіть додаток ServBay: Переконайтесь, що ServBay працює.
- Перейдіть до списку сайтів: У лівій навігації додатка виберіть Сайти.
- Виберіть сайт: Знайдіть у списку сайт із проблемою втрати SSL сертифіката та натисніть на нього.
- Автоматична перевірка та перестворення: ServBay при завантаженні конфігурації сайту перевірить, чи існують потрібні SSL сертифікати. Якщо файл сертифіката відсутній (
.crt
,.key
), ServBay автоматично перестворить та розмістить новий сертифікат у каталозі (/Applications/ServBay/ssl/private/tls-certs/ваш_домен/
). - Перезапустіть Web-сервер: Після успішної генерації сертифікатів перезапустіть пакет Web-сервера (Nginx, Caddy, Apache), щоб він зміг завантажити нові файли. У лівій панелі відкрийте сторінку Пакети (Packages), знайдіть потрібний пакет та натисніть кнопку перезапуску (піктограма у вигляді кола зі стрілкою).
- Перевірте вирішення: Після перезапуску Web-серверу зайдіть у браузер по HTTPS (
https://ваш_домен
). Проблема має бути вирішена, сайт відкриється через захищене з’єднання.
Зауваження
- Це рішення застосовується лише для SSL сертифікатів, автоматично створюваних ServBay. Якщо ви імпортували власний сертифікат — у разі втрати його потрібно вручну відновити або повторно отримати й імпортувати у ServBay.
- ServBay для підписання використовує власний ServBay User CA, що дозволяє використовувати HTTPS у локальному середовищі. Якщо браузер все ще попереджає про проблему довіри сертифікату, можливо, ServBay User CA не було додано у довірені вашої ОС чи браузера. Ознайомтесь із документацією ServBay по довірі ServBay CA.
- ServBay надає функцію резервування даних, зокрема бекапи сайту та SSL сертифікатів. Регулярне резервування допоможе швидко відновити дані у разі форс-мажору.
Часті питання (FAQ)
Q: Чому ServBay автоматично підписує SSL сертифікати для локальних сайтів?
A: Мета ServBay — забезпечити комплексне локальне середовище розробки. Для імітації продуктивного режиму та зручного тестування HTTPS ServBay створює для ваших локальних сайтів SSL сертифікати з допомогою внутрішнього ServBay User CA.
Q: Чи можу я використовувати власні SSL сертифікати?
A: Так, ServBay дозволяє імпорт і використання ваших власних SSL сертифікатів (наприклад, виданих ACME / Let's Encrypt). Цей розділ описує проблеми тільки із автоматично створеними сертифікатами.
Q: Чи безпечно повторно генерувати сертифікат?
A: Так, у локальному середовищі це безпечно — всі сертифікати підписані ServBay User CA і використовуються лише для розробки та тестування на вашому комп’ютері. На захищеність вашого сайту в інтернеті це не впливає.
Підсумок
ServBay пропонує зручні рішення для управління SSL сертифікатами у локальному середовищі розробки. Якщо автоматично створені SSL сертифікати для сайтів раптом втрачені, ServBay здатний автоматично виявити проблему, перестворити сертифікат і швидко відновити роботу HTTPS для ваших локальних сайтів.