Настройка SSL для нескольких поддоменов с помощью Certbot и Nginx: методы и шаги

Чтобы включить SSL (Secure Sockets Layer) для нескольких поддоменов с помощью Certbot и Nginx, вы можете использовать несколько методов. Вот несколько подходов:

  1. Подстановочный SSL-сертификат.
    Используйте подстановочный SSL-сертификат, охватывающий все субдомены вашего домена. Этот сертификат можно получить в доверенном центре сертификации (CA) или сгенерировать с помощью Certbot. С помощью подстановочного сертификата один сертификат может защитить несколько поддоменов, например subdomain1.example.com, subdomain2.example.com и т. д.

  2. Сертификат альтернативного имени субъекта (SAN):
    Получите сертификат SAN, включающий несколько поддоменов. Сертификат SAN позволяет указать несколько доменных имен в одном сертификате. Вы можете создать или приобрести сертификат SAN и настроить его с помощью Certbot и Nginx для защиты всех указанных поддоменов.

  3. Отдельные сертификаты для каждого субдомена.
    В качестве альтернативы вы можете создать отдельные сертификаты SSL для каждого субдомена с помощью Certbot. Этот метод требует получения и настройки отдельных сертификатов для каждого поддомена. Каждый сертификат будет связан с соответствующим субдоменом, обеспечивая индивидуальную защиту SSL.

Чтобы настроить SSL для нескольких поддоменов с помощью Certbot и Nginx, вы можете выполнить следующие общие шаги:

  1. Установить Certbot:
    Установите Certbot на свой сервер. Процесс установки может отличаться в зависимости от вашей операционной системы. Certbot предоставляет подробные инструкции для различных платформ на своем веб-сайте.

  2. Получить сертификаты.
    Используйте механизм автоматического получения сертификатов Certbot для получения сертификатов SSL для ваших поддоменов. Точная команда будет зависеть от выбранного вами типа сертификата и конкретных поддоменов, которые вы хотите защитить. Например, чтобы получить групповой сертификат, вы можете использовать команду вида:

    certbot certonly --manual --preferred-challenges=dns --email your@email.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com

    Эта команда предложит вам завершить проверку DNS для каждого субдомена.

  3. Настройте Nginx.
    После того как вы получили сертификаты SSL, вам необходимо настроить Nginx для их использования. Откройте файл конфигурации Nginx (обычно он находится в /etc/nginx/sites-available/) и добавьте директивы, связанные с SSL, для каждого поддомена. Убедитесь, что директива server_nameвключает субдомены, которые вы хотите защитить.

  4. Протестируйте и перезагрузите Nginx.
    Проверьте конфигурацию Nginx на наличие синтаксических ошибок. Если все выглядит хорошо, перезагрузите Nginx, чтобы изменения вступили в силу. Для этого используйте следующую команду:

    sudo systemctl reload nginx

    Если есть какие-либо ошибки, Nginx не запустится, и вы можете просмотреть журналы ошибок для получения более подробной информации (/var/log/nginx/error.log).

  5. Проверка SSL.
    Посетите каждый субдомен, используя https://в веб-браузере, и убедитесь, что сертификаты SSL правильно установлены и работают. Вы должны увидеть безопасное соединение с действительным сертификатом SSL.