как установить ssl сертификат на сайт

Установка SSL-сертификата на сайт — это важный шаг для обеспечения безопасного соединения между сервером и пользователями. Этот процесс обычно включает несколько этапов: от выбора и получения сертификата до его установки и настройки. Давай рассмотрим все шаги максимально подробно.

Шаг 1: Выбор типа SSL-сертификата

Перед тем как начать установку, нужно выбрать тип SSL-сертификата, который подходит для вашего сайта:

  1. Single Domain SSL — для одного домена.

  2. Wildcard SSL — для защиты основного домена и всех его поддоменов (например, *.example.com).

  3. Multi-Domain SSL (SAN) — для защиты нескольких доменов в одном сертификате.

  4. Extended Validation (EV) — для максимальной проверки компании, отображает зеленую строку в браузере.

  5. Domain Validation (DV) — базовый сертификат, проверяет только владение доменом.

Шаг 2: Получение SSL-сертификата

После того как вы определились с типом сертификата, нужно его получить. Вот как это сделать:

  1. Выбор центра сертификации (CA) — есть несколько популярных и надежных поставщиков SSL-сертификатов, таких как:

    • Let’s Encrypt (бесплатно)

    • Comodo

    • DigiCert

    • GlobalSign

    • Thawte

    • и другие.

  2. Запрос сертификата — если вы выбираете платный сертификат, вам нужно будет пройти через процесс заявки, в ходе которого вам нужно будет предоставить информацию о вашем домене и организации (если это требуется для EV-сертификатов). Для Let’s Encrypt сертификат можно получить автоматически через ваш хостинг-панель или с помощью специальных инструментов, таких как Certbot.

  3. Создание запроса на сертификат (CSR) — вам нужно создать файл CSR (Certificate Signing Request) на вашем сервере, который содержит информацию о вашем домене и публичном ключе. Для этого можно использовать инструменты командной строки, такие как OpenSSL или встроенные утилиты в панели управления хостингом.

    Пример команды для создания CSR с использованием OpenSSL:

    bash
    openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
  4. Отправка CSR на центр сертификации — после создания CSR, отправьте его в центр сертификации для проверки. В случае с бесплатными сертификатами (например, Let’s Encrypt), процесс автоматизирован.

Шаг 3: Установка SSL-сертификата на сервер

После того как сертификат будет выдан, вы получите несколько файлов:

  1. SSL-сертификат (например, domain.crt).

  2. Ключевый файл (например, domain.key).

  3. Промежуточный сертификат (может быть предоставлен отдельно, например, intermediate.crt).

Теперь нужно установить эти файлы на ваш сервер.

Установка на сервер с Apache

  1. Переместите файлы сертификата на сервер.
    Поместите ваш сертификат, приватный ключ и промежуточный сертификат в защищенную директорию на сервере (например, /etc/ssl/certs/).

  2. Настройка конфигурации Apache.
    Откройте файл конфигурации вашего виртуального хоста для HTTPS (обычно это default-ssl.conf или конфигурация для вашего домена, например, /etc/apache2/sites-available/yourdomain.conf).

    Пример настройки:

    bash
    <VirtualHost *:443> ServerAdmin webmaster@yourdomain.com ServerName yourdomain.com DocumentRoot /var/www/yourdomain SSLEngine on SSLCertificateFile /etc/ssl/certs/domain.crt SSLCertificateKeyFile /etc/ssl/private/domain.key SSLCertificateChainFile /etc/ssl/certs/intermediate.crt # Дополнительные настройки (опционально) SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:!aNULL:!MD5 SSLHonorCipherOrder on </VirtualHost>
  3. Перезапуск Apache.
    После внесения изменений перезапустите сервер Apache:

    bash
    sudo systemctl restart apache2

Установка на сервер с Nginx

  1. Переместите файлы сертификата.
    Поместите сертификат и ключ в защищенную директорию, например, /etc/nginx/ssl/.

  2. Настройка конфигурации Nginx.
    Откройте конфигурационный файл для вашего сайта (обычно это /etc/nginx/sites-available/yourdomain).

    Пример настройки:

    bash
    server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/domain.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; ssl_trusted_certificate /etc/nginx/ssl/intermediate.crt; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:...'; root /var/www/yourdomain; }
  3. Перезапуск Nginx.
    После внесения изменений перезапустите сервер Nginx:

    bash
    sudo systemctl restart nginx

Шаг 4: Проверка установки SSL-сертификата

После того как сертификат установлен, важно проверить, что он работает правильно:

  1. Используйте браузер: Зайдите на ваш сайт, используя https://, и проверьте, что браузер не выдает ошибок о безопасности. Зеленая иконка в адресной строке также подтверждает успешную установку.

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

  3. Проверьте срок действия сертификата: Убедитесь, что дата начала и окончания действия сертификата соответствуют.

Шаг 5: Принудительное использование HTTPS

Если вы хотите, чтобы ваш сайт всегда использовал HTTPS, необходимо сделать редирект с HTTP на HTTPS.

Для Apache:

В конфигурации сайта добавьте следующие строки:

bash
<VirtualHost *:80> ServerName yourdomain.com Redirect permanent / https://yourdomain.com/ </VirtualHost>

Для Nginx:

Добавьте редирект в конфигурацию:

bash
server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; }

После этого перезапустите сервер.

Шаг 6: Автоматическое обновление SSL-сертификатов

Если вы используете бесплатный сертификат от Let’s Encrypt, то вам нужно будет настроить автоматическое обновление сертификатов. Для этого можно использовать инструмент Certbot.

  1. Установите Certbot:

    bash
    sudo apt-get install certbot
  2. Настройте автоматическое обновление:

    bash
    sudo certbot renew --dry-run

    Это позволит вам убедиться, что автоматическое обновление работает корректно.

Заключение

После выполнения всех шагов ваш сайт будет защищен SSL-сертификатом, и пользователи смогут безопасно взаимодействовать с ним. Важно следить за сроком действия сертификата и своевременно его обновлять. Если у вас возникнут вопросы или трудности на каком-либо из этапов, не стесняйтесь спрашивать!

Scroll to Top

Карта сайта