HTTPS – защищённый вариант HTTP, который использует протокол TLS для шифрования соединения между браузером и веб-сервером. При работе сайта по незащищённому протоколу HTTP передаваемые данные могут быть перехвачены или изменены. В то же время TLS обеспечивает их конфиденциальность и целостность.
Для настройки HTTPS-доступа к сайту наиболее удобно использовать Let’s Encrypt – бесплатный центр сертификации, который выдаёт автоматически проверяемые TLS-сертификаты. Получение сертификата выполняется по протоколу ACME. При его использовании сначала подтверждается контроль над доменом, после чего центр сертификации выпускает новый сертификат. Такой подход позволяет не только получить сертификат без оплаты, но и автоматизировать его последующее продление.
Для взаимодействия с Let’s Encrypt используется утилита Certbot. Certbot представляет собой свободно распространяемый инструмент, который позволяет автоматизировать получение и продление TLS-сертификатов. В зависимости от выбранного способа проверки Certbot подтверждает управление доменом, получает сертификат и сохраняет его на сервере.
В статье разберём, как настроить HTTPS-доступ к сайту, развёрнутому при помощи веб-сервера OpenLiteSpeed, на виртуальном выделенном сервере под управлением Ubuntu 24.04.
Как настроить HTTPS-доступ к сайту на OpenLiteSpeed
Настройка HTTPS-доступа с использованием TLS-сертификата Let’s Encrypt возможна на сайте, доступ к которому осуществляется по его доменному имени. При этом домен необходимо одним из наиболее удобных способов связать с IP-адресом виртуального сервера.
Кроме того, перед настройкой HTTPS-доступа к сайту на VPS необходимо произвести установку веб-сервера OpenLiteSpeed и настройку виртуального хоста, в качестве которого в нашем примере будет использоваться хост с доменным именем your-domain-name.ru.
Также в брандмауэре должен быть открыт доступ к соответствующим TCP-портам:
- 80 – для подключения к сайту через HTTP;
- 443 – для подключения к сайту через HTTPS;
- 7080 – порт, при помощи которого осуществляется доступ к веб-интерфейсу административной панели OpenLiteSpeed.
Получение TLS-сертификата Let’s Encrypt
Поскольку для получения TLS-сертификата Let’s Encrypt будет использоваться Certbot, установите данную утилиту в систему:
$ sudo apt install certbot
По окончании инсталляции запустите команду, которая выполнит проверку домена и после успешного её прохождения запросит в центре сертификации TLS-сертификат:
$ sudo certbot certonly --webroot -w /var/www/your-domain-name.ru -d your-domain-name.ru -d www.your-domain-name.ru
В данной команде используются следующие опции:
--webroot– опция, указывающая путь к директории сайта, для которого будет запрашиваться сертификат;-d– опция, после которой необходимо указать основной домен и его поддомены, для которых будет запрашиваться сертификат;your-domain-name.ru– доменное имя сайта, для которого будет запрашиваться сертификат.
В ходе выполнения команды Certbot запросит адрес вашей электронной почты для отправки оповещений о необходимости продления сертификатов и уведомлений по безопасности. Затем утилита попросит вашего согласия с условиями предоставляемого сервиса. В данном случае для продолжения процесса регистрации аккаунта в центре сертификации необходимо согласиться, нажав Y. После этого Certbot попросит вашего разрешения на то, чтобы поделиться вашим адресом электронной почты с компанией-партнёром. Здесь можно отказаться от предложенной опции, отправив N.
После успешных регистрации и прохождения проверки утилита получит выпущенный Let’s Encrypt TLS-сертификат. Полный путь до файлов полученного сертификата Certbot укажет в выводе команды.

Настройка HTTPS-доступа в OpenLiteSpeed
После получения TLS-сертификата подключитесь к веб-интерфейсу административной панели OpenLiteSpeed для внесения изменений в настройки веб-сервера. В панели администратора перейдите в Listeners, где нажмите кнопку Add.

В строку Listener Name введите URL-адрес, по которому сайт будет доступен после применения настроек HTTPS-доступа. Для нашего сайта содержимое данной строки выглядит как https://your-domain-name.ru. В строке IP Address выберите ANY IPv4, в строке Port укажите номер порта, предназначенного для подключения по HTTPS (обычно это – 443). В строке Secure активируйте Yes, после чего нажмите Save для сохранения изменений.

Затем в разделе Virtual Host Mappings нажмите Add.

Далее в строке Virtual Host выберите имя виртуального хоста. В строке Domains укажите доменные имена, под именем которых виртуальный хост будет доступен. После чего нажмите Save для сохранения изменений.

Перейдите во вкладку SSL, нажмите Edit в разделе SSL Private Key & Certificate.

В строку Private Key File скопируйте из вывода утилиты Certbot полный путь к файлу приватного ключа privkey.pem. Оттуда же в строку Certificate File скопируйте полный путь к файлу сертификата с полной цепочкой fullchain.pem. Чтобы сохранить внесённые значения, нажмите Save.

После чего нажмите Edit в разделе SSL Protocol.

В строке Protocol Version укажите версии протокола TLS, которые будут использоваться для защиты соединения между клиентом и сервером. Рекомендуется оставить TLS 1.2 и TLS 1.3, поскольку более современный TLS 1.3 обеспечивает повышенный уровень безопасности и сокращает время установления соединения, а TLS 1.2 сохраняет совместимость со старыми клиентами. Версии TLS 1.0 и TLS 1.1 считаются устаревшими и использовать их не рекомендуется. После выбора версий нажмите Save, чтобы сохранить настройки.

Для применения всех внесённых ранее изменений настроек кликните Graceful Restart.

Чтобы проверить доступность сайта по HTTPS, откройте браузер и перейдите по ссылке вида https://your-domain-name.ru, где вместо your-domain-name.ru введите доменное имя вашего сайта, размещённого на OpenLiteSpeed.

Запись в контекстном меню навигационной строки вида Connection is secure говорит об использовании протокола HTTPS.
Как настроить автоматическое обновление TLS-сертификата
Поскольку TLS-сертификаты Let’s Encrypt имеют срок, как правило, равный 90 дням, необходимо регулярно производить их обновление. Функционал Certbot подразумевает возможность выполнять данную процедуру в автоматическом режиме.
Для начала убедитесь, что Certbot действительно может обновить TLS-сертификат:
$ sudo certbot renew --dry-run
Вывод данной команды не должен содержать каких-либо ошибок.

Если ошибок нет, установите в систему пакет cron. Данный пакет содержит службу планировщика заданий, а также утилиту crontab, после установки которых вы сможете создавать и редактировать задания, выполняемые автоматически по определённому расписанию.
$ sudo apt install cron
После установки пакета откройте для редактирования crontab текущего пользователя. В данный файл можно добавлять задания, которые будут выполняться системой по расписанию.
$ sudo crontab -e
В crontab добавьте, например, следующую строку:
30 5 * * * /usr/bin/certbot renew --quiet --deploy-hook "systemctl restart lsws"
Данная строка содержит следующие параметры задания:
30 5 * * *– параметр определяет расписание для запланированного задания, то есть в данном случае оно будет выполняться ежедневно в 5 часов 30 минут;/usr/bin/certbot renew --quiet– выполняемая команда для проверки и автоматического обновления TLS-сертификатов, установленных с помощью Certbot – обновление при этом выполняется только для сертификатов, достигших порога обновления;--deploy-hook "systemctl restart lsws"– действие, которое выполняется после успешного обновления сертификата.
В данном случае заключительная команда – это перезапуск службы OpenLiteSpeed для применения веб-сервером нового сертификата. После добавления в crontab строки нового задания закройте файл с сохранением внесённых изменений.
