Как запросить и использовать доменные SSL-сертификаты
В современной веб-разработке обеспечение вашего сайта HTTPS (с помощью SSL/TLS-сертификата) становится всё более важным шагом даже в локальной среде разработки. ServBay предлагает удобные инструменты для управления и применения SSL-сертификатов, что позволяет моделировать рабочую среду, тестировать функции безопасности и гарантировать бесперебойный процесс локальной разработки.
В этом документе вы узнаете, как запросить, назначить и управлять SSL/TLS-сертификатами в ServBay.
Введение в доменные SSL/TLS-сертификаты
SSL/TLS-сертификат — это цифровой сертификат, который подтверждает подлинность сервера и шифрует передачу данных между клиентом (например, браузером) и сервером. После установки SSL-сертификата адрес сайта изменится с http://
на https://
, а в адресной строке браузера появится значок замка, подтверждающий безопасность и зашифрованность соединения.
Почему стоит использовать HTTPS в локальной разработке?
- Моделирование боевой среды: Во многих production-средах HTTPS является обязательным. Использование HTTPS в локали позволяет максимально точно повторить рабочие условия и минимизировать неожиданные проблемы при деплое.
- Тестирование функций безопасности: Некоторые современные возможности браузеров (например, Service Workers, Web Authentication, Geolocation API и др.) доступны только в безопасном контексте (HTTPS). Это облегчает их тестирование и настройку.
- Избежание предупреждений о смешанном контенте: Если сайт работает по HTTPS, но загружает ресурсы через HTTP (изображения, скрипты, CSS), браузеры предупреждают о смешанном контенте. HTTPS в локали позволяет выявлять и исправлять такие проблемы заранее.
- HTTP/2 и QUIC: Эти современные протоколы обычно требуют шифрованного соединения по HTTPS.
Получение SSL-сертификата с помощью ServBay
ServBay поддерживает два основных способа получения SSL-сертификатов: выпуск локальных доверенных сертификатов с помощью встроенного ServBay CA (Certificate Authority) и получение общедоверенных сертификатов через протокол ACME (например, Let's Encrypt).
Необходимые условия
- Установлен и запущен ServBay.
- В ServBay создан и настроен сайт, для которого требуется SSL-сертификат.
- Для получения общедоверенного сертификата через ACME требуется возможность прохождения проверки DNS.
Шаг: Переход к панели управления SSL-сертификатами
В боковой панели приложения ServBay выберите раздел "SSL Certificates", чтобы открыть список и настройки сертификатов.
Способ 1: Выпуск локально доверенного сертификата с помощью ServBay CA
ServBay CA — это встроенный центр сертификации. Сертификаты, выпущенные этим CA, доверяются только на тех устройствах, где установлен и доверен ServBay CA. Это идеальный вариант для локальной разработки, поскольку вы легко можете доверить CA на своих тестовых устройствах.
- Нажмите кнопку "Добавить": В разделе "SSL Certificates" нажмите кнопку "+" в правом верхнем углу.
- Заполните данные для сертификата: На странице "Request Certificate":
- Common Name (Общее имя): Укажите описательное название сертификата, чтобы легко его распознавать. Пример:
ServBay Demo Website Cert
. - Usage Purpose (Назначение): Выберите цель использования, обычно это
TLS/SSL
. - Request Method (Метод запроса): Выберите
ServBay CA
. - Issuer (Издатель): Выберите
ServBay User CA
. Это пользовательский CA, который ServBay предоставляет для выпуска локальных сертификатов. - Algorithm (Алгоритм): Выберите алгоритм шифрования. Рекомендуется использовать современный и быстрый
ECC
. Для совместимости со старыми системами можно выбратьRSA
. - Key Length (Длина ключа): Выберите длину ключа. Для ECC рекомендуется
384
; для RSA —2048
или4096
. Чем больше длина — тем выше безопасность, но тем больше вычислительная нагрузка. - Domain (Домен): [Важнo] Введите список доменов, которые вы хотите защитить. Они будут добавлены в поле Subject Alternative Names (SANs) сертификата. Для локальной разработки используйте домены с
.servbay.demo
(например,servbay.demo
,myproject.servbay.demo
) или иные, прописанные в файле hosts или настройках ServBay. Поддерживаются поддомены, например,*.servbay.demo
. Несколько доменов указывают через запятую.
- Common Name (Общее имя): Укажите описательное название сертификата, чтобы легко его распознавать. Пример:
- Нажмите "Request": После проверки данных нажмите кнопку "Request" внизу страницы.
ServBay немедленно выпустит сертификат с помощью ServBay User CA и добавит его в ваш список.
(На иллюстрации — пример интерфейса запроса сертификата с помощью ServBay CA)
Как доверять ServBay User CA?
Чтобы браузеры и приложения доверяли сертификатам, выпущенным ServBay CA, необходимо установить и добавить в доверенные корневые центры системы корневой сертификат ServBay User CA. Обычно ServBay автоматически выполняет эту операцию при установке, либо вы сможете найти соответствующие опции в настройках приложения. После установки и доверия сертификаты для доменов .servbay.demo
или ваших специфических доменов будут восприниматься системой как доверенные, без предупреждений.
Способ 2: Получение общедоверенного сертификата через ACME (Let's Encrypt)
ACME (Automated Certificate Management Environment) — это протокол автоматизации, позволяющий взаимодействовать с публичными CA (например, Let's Encrypt) для бесплатного и быстрого получения SSL-сертификатов. Такие сертификаты по умолчанию признаются всеми основными браузерами и устройствами.
- Нажмите кнопку "Добавить": В разделе "SSL Certificates" нажмите кнопку "+" в правом верхнем углу.
- Заполните данные для сертификата: На странице "Request Certificate":
- Common Name (Общее имя): Задайте описательное название сертификата.
- Usage Purpose (Назначение): Выберите
TLS/SSL
. - Request Method (Метод запроса): Выберите
ACME
. - Issuer (Издатель): Выберите
Let's Encrypt
,ZeroSSL
илиGoogle Trust Services
(через этих CA ServBay выпускает общедоверенные сертификаты). - Algorithm (Алгоритм): Выберите рекомендуемый —
ECC
. - Key Length (Длина ключа): Укажите необходимую длину ключа.
- Domain (Домен): [Важнo] Введите список доменов, для которых требуется общедоверенный сертификат. Это должны быть публичные домены, и у вас должно быть право на управление ими. ServBay через ACME проведёт процесс проверки права владения. Указывается через запятую, поддерживаются поддомены (примечание: для поддоменов обычно требуется DNS-подтверждение).
- Email (E-mail): Введите актуальный почтовый адрес. Его требует ACME для рассылки уведомлений о сроках действия сертификатов и важной информации.
- DNS Provider (DNS-провайдер): Укажите DNS-провайдера для ваших публичных доменов — это поможет автоматически настроить необходимые DNS-записи для подтверждения владения и последующей выдачи сертификата.
- Нажмите "Request": Проверьте введенные данные и кликните "Request" внизу.
ServBay запустит ACME-процесс, взаимодействует с CA, проведёт валидацию доменов и в итоге выпустит сертификат. Это может занять некоторое время в зависимости от метода проверки и скорости обновления DNS. После успешного завершения сертификат появится в списке.
Автоматическое продление ACME-сертификатов:
Сертификаты, запрошенные через ACME (например, Let's Encrypt), обычно имеют короткий срок действия (например, 90 дней). ServBay автоматически отслеживает их состояние и продлевает их, так что ручных действий не требуется.
Назначение и использование сертификата
После получения SSL-сертификата его нужно назначить конкретному сайту в ServBay для активации HTTPS.
- Перейдите в управление сайтами: В боковой панели ServBay выберите раздел "Websites".
- Редактируйте нужный сайт: Найдите соответствующий сайт и кликните по нему.
- Настройте SSL: Перейдите к разделу, связанному с SSL/HTTPS.
- Включите HTTPS и выберите сертификат: Активируйте HTTPS. В выпадающем списке сертификатов (если выбран ACME) выберите только что полученный сертификат. В списке отображаются общее имя и привязанные домены.
- Сохраните изменения: Сохраните настройки сайта.
После сохранения ServBay автоматически перезапустит соответствующий веб-сервер (например, Caddy, Apache, Nginx), чтобы применить новый сертификат. Теперь ваш сайт будет доступен по адресу вида https://ваш-домен
.
Управление сертификатами
В разделе "SSL Certificates" вы можете управлять всеми вашими сертификатами.
Продление сертификатов
- ServBay CA-сертификаты: Эти сертификаты обладают длительным сроком действия (обычно 800 дней). Перед истечением срока найдите нужный сертификат в списке и нажмите кнопку продления (обычно значок обновления или стрелка по кругу) — срок продлевается ещё на 800 дней от текущей даты.
- ACME-сертификаты: Их продление происходит автоматически через ServBay, вручную ничего делать не нужно.
Экспорт сертификатов
Вы можете экспортировать полученные SSL-сертификаты, если, например, требуется использовать один и тот же сертификат ServBay CA на другом устройстве (при условии, что оно также доверяет этому CA).
- Откройте панель управления SSL-сертификатами.
- Найдите нужный сертификат.
- Нажмите на кнопку экспорта: Это значок экспорта (обычно стрелка вправо ➡️) справа от сертификата.
- Выберите папку сохранения: В появившемся окне укажите место для сохранения экспортируемого файла.
- Передайте сертификат: Обычно экспортируется ZIP-архив, в котором лежат сам сертификат (
.crt
или.cer
), приватный ключ (.key
) и соответствующая цепочка CA. Эти файлы можно по необходимости использовать и устанавливать на другие устройства.
Удаление сертификатов
Если сертификат больше не нужен, его можно удалить.
- Откройте панель управления SSL-сертификатами.
- Найдите сертификат для удаления.
- Нажмите кнопку удаления: Это значок корзины справа от сертификата.
- Подтвердите удаление: В диалоговом окне подтвердите действие. Внимание: Операция необратима. Если сертификат используется на каком-либо сайте, перед удалением назначьте другой сертификат либо отключите HTTPS, иначе сайт станет недоступен.
Часто задаваемые вопросы (FAQ)
Q: Почему браузер не доверяет сертификатам, выпущенным ServBay CA?
A: По умолчанию браузеры и ОС не доверяют этому CA. Необходимо установить и добавить в доверенные корневой сертификат ServBay User CA. Ознакомьтесь с настройками или документацией ServBay для подробных инструкций.
Q: Я запросил ACME (Let's Encrypt) сертификат, но получил ошибку. Что делать?
A: Чаще всего причина — неудачная валидация домена.
- Если вы используете проверку через
dns-01
, внимательно проверьте правильность добавленных TXT-записей у вашего доменного регистратора или DNS-провайдера и дождитесь, когда изменения вступят в силу (это может занять время). Изучите журналы событий ServBay для получения более точных данных о причине ошибки.
Q: Можно ли запросить один сертификат для нескольких доменов в ServBay?
A: Да, при заявке вы можете добавить несколько доменов в поле "Domain" через запятую. Сертификат будет выпущен с SAN для каждого из них.
Q: Какие веб-серверы поддерживает ServBay? Сертификаты универсальны для всех?
A: ServBay поддерживает Caddy, Apache, Nginx и другие веб-серверы. Интерфейс управления сертификатами единый — выданные сертификаты можно назначать любому поддерживаемому сайту, ServBay автоматически сконфигурирует сервер.
Заключение
ServBay предоставляет мощные и интуитивно-понятные инструменты для управления SSL-сертификатами в локальной среде разработки. С помощью встроенного CA вы можете быстро выпускать доверенные сертификаты для локальных доменов, упрощая внедрение и тестирование HTTPS. Интеграция протокола ACME позволяет непосредственно в ServBay получать и управлять общедоверенными сертификатами Let's Encrypt, ZeroSSL и Google Trust Services. Эти возможности помогут сделать ваши веб-приложения современными и безопасными.
Если у вас возникнут трудности при работе с сертификатами, обратитесь к официальной документации или сообществу ServBay для получения дополнительной поддержки.