Веб-сервер Lighttpd используется в средах, где важны высокая производительность и минимальное потребление системных ресурсов. Несмотря на свою лёгкость, Lighttpd обладает полноценной поддержкой механизмов безопасности, включая работу по протоколу HTTPS. Протокол HTTPS обеспечивает шифрование передаваемых данных, защищает пользователей от перехвата трафика и подмены содержимого. Кроме того, использование HTTPS является обязательным требованием для большинства браузеров и веб-приложений.
В статье рассмотрим, как настроить HTTPS-доступ к веб-странице, работающей на Lighttpd, на примере VPS под управлением Ubuntu 24.04 и Debian 13.
Как настроить HTTPS-доступ на Lighttpd в Ubuntu и Debian
Настройка HTTPS на веб-сервере заключается в организации защищённого канала передачи данных между клиентом и сервером с использованием протокола TLS. В рамках этой конфигурации веб-сервер должен быть способен принимать зашифрованные соединения и корректно обрабатывать сертификаты безопасности. Основным элементом HTTPS является SSL/TLS-сертификат. Он подтверждает подлинность сервера и используется для шифрования трафика.
При этом устанавливаемый на веб-сервер сертификат может быть выпущен доверенным центром сертификации. На практике для большинства публичных веб-сайтов используются сертификаты, выданные центром сертификации Let’s Encrypt. Let’s Encrypt предоставляет бесплатные сертификаты, признаваемые всеми современными браузерами, и поддерживает автоматизированный процесс их выпуска и продления. Это позволяет обеспечить HTTPS-доступ без дополнительных затрат и снизить риск простоев, связанных с истечением срока действия сертификата.
Предварительные работы
Изначально веб-страница, настроенная с использованием Lighttpd, может отображать содержимое только при помощи протокола HTTP. Чтобы увидеть веб-страницу в своём браузере, необходимо открыть доступ к серверу для протокола HTTP. Также этот протокол используется центром сертификации для проверки валидности домена, для которого будет выпущен TLS-сертификат. Чтобы открыть доступ к серверу по HTTP, добавьте в брандмауэр UFW разрешающее правило для данного протокола:
$ sudo ufw allow http
Также добавьте в брандмауэр правило для протокола HTTPS. Это нужно для того, чтобы веб-страница была доступна после установки сертификата и включения TLS-механизмов на веб-сервере:
$ sudo ufw allow https
Кроме того, настройка HTTPS-доступа возможна только, если доступ к веб-сайту организован через его доменное имя, а не только через IP-адрес. Для этого доменное имя сайта должно быть привязано к IP-адресу сервера, на котором сайт расположен. Такая привязка осуществляется при помощи A-записи – специальной DNS-записи, которая связывает доменное имя с IPv4-адресом сервера. Настройку привязки имени домена с IP-адресом можно произвести на сайте-регистраторе домена либо во вкладке Домены в личном кабинете RUVDS.

Установка Certbot
В Debian и Ubuntu веб-сервер Lighttpd использует модульную систему конфигурации. Поддержку SSL/TLS в Lighttpd реализует модуль mod_openssl, который необходимо активировать, чтобы подготовить сервер к работе по HTTPS. Для включения модуля выполните команду:
$ sudo lighty-enable-mod ssl
Для получения, установки и продления SSL/TLS-сертификатов от центра сертификации Let’s Encrypt применяется специальный автоматизированный инструмент – Certbot. Он упрощает настройку HTTPS, автоматически подтверждая право владения доменом и управляя сроком действия сертификатов. Это позволяет избежать ручного обновления и связанных с ним ошибок. Certbot поддерживает различные режимы работы и может использоваться с большинством популярных веб-серверов, в том числе Lighttpd. Чтобы установить Certbot в систему, выполните команду:
$ sudo apt install certbot
Важная особенность: до начала процесса получения сертификата веб-сервер необходимо остановить:
$ sudo systemctl stop lighttpd
Запрос и получение TLS-сертификата
Следующая команда запускает Certbot, который должен получить TLS-сертификат от Let’s Encrypt для доменов your-site-name.ru и www.your-site-name.ru. В данном случае:
certonly– указывает на то, что необходимо только получить сертификат, не внося изменений в конфигурацию веб-сервера;--standalone– запускает собственный встроенный веб-сервер для прохождения проверки домена;-d your-site-name.ru -d www.your-site-name.ru– запрашивает один сертификат сразу для двух доменных имён.
$ sudo certbot certonly --standalone -d your-site-name.ru -d www.your-site-name.ru
Во время своей работы утилита сначала попросит указать адрес электронной почты. Он будет нужен для отправки уведомлений об истечении сертификата и оповещения о проблемах безопасности.
Enter email address or hit Enter to skip.
(Enter 'c' to cancel): admin@your-site-name.ru
Затем необходимо будет подтвердить своё согласие с условиями использования Let’s Encrypt. Без принятия этих условий регистрация на ACME-сервере невозможна, а значит сертификат выдан не будет.
Please read the Terms of Service at:
https://letsencrypt.org/documents/LE-SA-v1.6-August-18-2025.pdf
You must agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
Далее последует необязательный информационный запрос, связанный с проектом Let’s Encrypt и организацией Electronic Frontier Foundation (EFF). В данном случае Certbot спрашивает вашего разрешения на передачу указанного email организации EFF – одному из основателей проекта Let’s Encrypt и разработчику Certbot.
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
После чего Certbot должен вывести сообщение об успешной регистрации учётной записи в системе Let’s Encrypt и выпуске TLS-сертификата. Здесь также указано, что сертификат сайта сохранён в /etc/letsencrypt/live/your-site-name.ru/fullchain.pem, а закрытый ключ, используемый для шифрования соединений, сохранён в /etc/letsencrypt/live/your-site-name.ru/privkey.pem.
Account registered.
Requesting a certificate for your-site-name.ru and www.your-site-name.ru
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your-site-name.ru/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your-site-name.ru/privkey.pem
Настройка HTTPS на Lighttpd
Расположения сертификата и закрытого ключа будут нужны для дальнейшей настройки HTTPS. Эти файлы указываются в конфигурации Lighttpd для включения защищённого соединения. Следовательно, на следующем шаге откройте для редактирования конфигурационный файл Lighttpd:
$ sudo nano /etc/lighttpd/conf-available/10-ssl.conf
В качестве значения параметра ssl.pemfile укажите полный путь к файлу сертификата:
ssl.pemfile = "/etc/letsencrypt/live/your-site-name.ru/fullchain.pem"
Следующей строкой добавьте в файл параметр ssl.privkey, содержащий путь к файлу закрытого ключа:
ssl.privkey = "/etc/letsencrypt/live/your-site-name.ru/privkey.pem"
Также, чтобы исключить возможность передачи данных в незашифрованном виде, добавьте в файл настройку перенаправления всех HTTP-запросов на HTTPS:
$HTTP["scheme"] == "http" {
url.redirect = (".*" => "https://your-site-name.ru$0")
}
Сохраните конфигурационный файл, закройте его и запустите службу веб-сервера:
$ sudo systemctl start lighttpd
После чего откройте браузер и проверьте доступность вашего сайта с использованием протокола HTTPS.

Сообщение вида Подключение защищено в навигационной строке должно свидетельствовать о соединении с сайтом по зашифрованному подключению.
