Lighttpd часто используется в качестве встроенного сервера для разнообразных служб. Давайте же разберемся в по шаговом процессе настройки сервера на базе lighttpd.

 

Подготовка Debian-сервера перед включением HTTPS

В нашей статье, будем детально разбирать процесс установки и настройки сервера с нуля. Но вы также можете использовать существующие инсталляции lighttpd, таким образом вы может просмотреть некоторые шаги и упустить их.

Давайте начнем с тестовой схемы:

  • Роутер.
  • Веб-сервер.
  • Рабочие станции.

Задача состоит в том, чтобы развернуть на веб-сервере ресурс в http://site.local и настроить процесс таким образом чтобы появилась возможность использования нужного современного движка.

Установка и проверка веб-сервера Lighttpd

Начнем с установки следующих важных пакетов OpenSSH и mc, используя команду:

sudo apt update && sudo apt install -y mc openssh-client

После этого шага можно производить все операции удаленно используя SSH, например – PuTTY.

Для непосредственной установки веб-сервера можно использовать:

sudo apt update && sudo apt install -y lighttpd

Для проверки можно просто ввести IP сервера в браузере, и если процесс прошел успешно вы увидите страницу-заглушку сервера.

Выбор SSL-сертификата

Выбор SSL-сертификата зависит от типа проекта и многих других особенностях. К примеру, для лендингов или небольшого блога можно использовать бесплатный сертификат Let’s Encrypt. Такое решение может гарантировать базовое шифрование для стандартных платформ.
Для интернет-магазинов и корпоративных платформ хорошим вариантом будет использование коммерческих сертификатов. Это особенно важно для сайтов, где осуществляются платежи или хранятся личные данные юзеров.

 

Получение SSL-сертификата с помощью Certbot в Debian

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

Перед запуском нужно перепроверить что домен точно указывает на нужный IP сервера, и в файрволе открыты порты 443 и 80. После установки Certbot необходимо выполнить команду с указанием типа сервера и домена, а инструмент осуществит нужные изменения в конфигурации.

 

Это интересно: Шифрование данных на сервере: зачем нужно и как правильно настроить защиту

 

Ручная установка SSL-сертификата в Lighttpd

Стандартная процедура ручной установки состоит в том, чтобы корректно настроить конфигурацию сервера и подготовить ключи. Изначально надо создать CSR и приватный ключ, далее выпускается сертификат в Let’s Encrypt. Сертификат и приватный ключ обычно объединяются в один файл.

 

Включение SSL-модуля и настройка конфигурации Lighttpd

Далее нужно найти файл lighttpd.conf и убедиться, что включен модуль mod_openssl. В файле также нужно добавить порт 443, путь к ключу и сертификату. Потом нужно все перепроверить и перезапустить сервер.

Настройка виртуальных хостов Lighttpd для работы по HTTPS

Для того чтобы юзеры могли обращаться к сайту не с помощью его IP, а используя домен нужно добавить определенные настройки. В /etc/lighttpd/lighttpd.conf нужно добавить следующую часть:

$HTTP[“host”] == “site.local” {

            server.document-root = “/var/www/site.local”

}

Таким образом мы создаем корневую директорию. Также мы может разместить несколько сайтов на сервере, но в таком варианте нужно будет указать для каждого сайта свою корневую директорию.

 

Следующим важным шагом будет перезапуск:

sudo systemctl restart lighttpd

Далее нужно уточнить что данный сайт обслуживается конкретным веб-сервером, для этого нужно прописать такую информацию в файле hosts. Для этого на роутере в конфиг файле /etc/dnsmasq.d/site.local.conf нужно добавить такие строки:

address=/site.local/11.0.1.145

Далее нужно осуществить перезапуск с помощью:

sudo systemctl restart dnsmasq

 

 

Часто спрашивают: 6 лучших дистрибутивов Linux для VPS

Принудительный редирект с HTTP на HTTPS в Lighttpd

Принудительный редирект необходим для безопасного соединения со всеми клиентам. Даже когда юзер вводит адрес сайта без указания протокола, сервер будет автоматически перенаправлять его на защищенную версию https.

Обычно такой редирект настраивается через модуль mod_rewrite и mod_redirect. В конфиг файле нужно добавить условие для порта 80 где указать правило перенаправления на тот же хост но используя HTTPS.

Оптимизация параметров TLS: версии протоколов и шифры

Следующим шагом будет размещение веб-страничек на сервере. И обычно этот процесс происходит с помощь TLS. Это достаточно простой процесс, где в любом поддерживающем SFTP клиенте нужно указать пароль, логин, имя хоста, и порт 22.

В блокноте создаем проверочную HTML страницу под именем index.html и размещаем ее в папке /var/www:

<!DOCTYPE html>

<html lang=”ru”>

<head>

            <meta charset=”UTF-8″>

            <title>site.local — Тестовая страница</title>

</head>

<body>

            <h1>Site.local</h1>

            <h2>Тестовая страница</h2>

            <p>Если вы видите этот текст, значит веб-сервер на Debian работает и настроен корректно.</p>

</body>

</html>

Проверка корректности работы HTTPS на сервере

Сначала можно проверить открывается ли сайт по протоколу https:// без каких-либо ошибок. Также нужно проверить сертификат с помощью командной строки утилитой openssl s_client. Для комплексной оценки ситуации можно использовать онлайн-сервисы анализа.