Если пользователи не совершают платежи и не оставляют конфиденциальную информацию на сайте — то вполне подойдет бесплатный сертификат Let's Encrypt.
В панели управления Virtualmin установить бесплатный SSL сертификат Let's Encrypt очень легко. Для этого нужно чтобы выполнялись некоторые требования:
* домен должен быть доступен по доменному имени((пинговаться))
* нужно указать рабочую почту при запросе сертификата
* возможны проблемы в случае использования проксирующего сервиса((например CloudFlare))
* все **Aliases** что указаны для домена или поддомена должны также быть доступны ((пинговаться))
Рассмотрим пример получения сертификата для домена **testdomain.com**.
Логинимся в панель управления и переходим в управление доменом **testdomain.com**. Сначала убедимся что у нас включена поддержка SSL в веб-сервере apache для нашего домена. Для этого переходим в **Edit Virtual Server** --> **Enabled features** и убеждаемся что у нас стоит галочка напротив пункта **Apache SSL website enabled?**. Если это не так ставим галочку и нажимаем **Save Virtual Server**:
{{:virtualmin_ssl_le_001.png|}}
После этого будет создан конфигурационный файл для протокола **https** нашему домену.
Теперь можно приступить к созданию самого сертификата. Для этого переходим **Server Configuration** --> **Manage SSL Certificate** --> **Let's Encrypt**:
{{:virtualmin_ssl_le_002.png|}}
* Request certificate for:
* Domains associated with this server - алиасы которые будут добавлены в сертификат.((Если не знаете что это оставляйте этот пункт как есть))
* Domain names listed here - если алиасы поставленные автоматом в предыдущем пункте Вам не подходят то здесь можно указать кастомные.
* Months between automatic renewal - есть возможность обновлять сертификат автоматически и вручную
* Only renew manually - если выбрать этот пункт то придется обновлять сертификат только вручную.
* 2 - количество месяцев через которое будет обновляться серт. Мы указали 2 месяца.((Сам сертификат действителен 90 дней))
* Request Certificate - запрос на получение сертификата.
* Only Update Renewal - пункт для обновления сертификата вручную.
Делаем все как на скриншоте и нажимаем **Request Certificate**. Если не выбило никакой ошибки то через пару минут можете пробовать заходить на Ваш сайт по протоколу **https**. В случае успеха в адресной стоке должен появиться зеленый замочек.
Сертификат от Let's Encrypt будет обновляться каждые 90 дней автоматически.
В случае если Вы получите ошибку при получении сертификата, сделайте скриншот с ошибкой или скопируйте текст ошибки, создайте заявку в нашей системе тикетов с описанием проблемы и мы постараемся ее решить.
Файлы сертификата должны сохраниться в директории: /home/USER/. В нашем случае /home/testdomain/.
----
Проверить валидность сертификата можно, например онлайн сервисом [[https://www.sslshopper.com/ssl-checker.html|sslshopper.com]]
----
Также рекомендуем настроить редирект на протокол https
----
В случае если зеленый замочек не появиться и Ваш сайт будет криво отображаться по протоколу **https** нужно проверить на наличие ошибки **mixed content**. Сделать это можно, например нажав в браузере **Chrome** или **Firefox** комбинацию клавиш **ctrl+c** и выбрав пункт **console** или **консоль**.
{{::ssl_le_0007.jpg.png|}}
Решение:
Ошибка mixed content, часть ссылок открывается по https://, а часть по http://
Нужно или сделать независимые ссылки чтобы домен был доступеy и по http:// и по https:// или жестко закрепить за https://
Т.е. Вам нужно переделать ссылки http://mydomain.com --> //domain.com или же жестко закрепить из за https://mydomain.com
Сначала смотрим в админку сайта и правим там http на https если есть такая возможность. Также ссылки могут быть в базе, в конфигурационных файлах движка, плагинов или тем ну и конечно же в кеше.
Иногда нужно очистить кеш чтобы увидеть нужный результат.
Также желательно сообщить поисковым системам о новом адресе, для этого нужно:
* В robots.txt меняем строки Host и Sitemap на новый защищенный протокол https.
* В WEB-мастерской Google добавляем новый сайт с указанным протоколом "https" и заполняем всю необходимую информацию для нового протокола.
* В WEB-мастерской Yandex нужно выбрать Ваш сайт → "индексирование" → "переезд сайта" → поставить галку для "https".