Если система хранения данных установлена на VPS, доступ к которому осуществляется через веб-интерфейс, то обеспечение защищённого соединения становится обязательным условием её эксплуатации. Передача информации по незащищённому HTTP-протоколу создаёт серьёзные риски – от перехвата учётных данных до компрометации содержимого хранилища. В то же время использование более защищённого протокола HTTPS позволяет зашифровать трафик между клиентом и сервером и обеспечить базовый уровень безопасности.
В этой статье мы рассмотрим настройку HTTPS-доступа к объектному хранилищу RustFS, установленному на виртуальном выделенном сервере под управлением Ubuntu 24.04.
Настройка HTTPS-доступа к RustFS на Ubuntu 24.04
Наиболее простым способом организации доступа к веб-ресурсу через HTTPS является установка дополнительного веб-сервера, например, Caddy или Nginx, и его настройка для работы в качестве обратного прокси. В такой конфигурации веб-сервер принимает запросы от клиентов и перенаправляет их на внутренний сервис, которым в нашем случае является RustFS, а затем возвращает клиенту полученный ответ. Для пользователя обратный прокси выглядит как конечная точка доступа, в то время как реальный сервис остаётся скрытым за ним.
На практике схема работы выглядит следующим образом: клиент отправляет HTTPS-запрос на адрес обратного прокси, который анализирует запрос и в соответствии с правилами маршрутизации передаёт его на обработку в RustFS. Объектное хранилище обрабатывает запрос и отправляет ответ обратно на реверс-прокси. Обратный прокси при необходимости модифицирует его, например, добавляет заголовки безопасности или сжимает содержимое, а затем передаёт клиенту.
В настоящей статье в качестве обратного прокси мы используем веб-сервер Caddy, отличающийся простотой настройки и высокой степенью автоматизации.
Caddy по умолчанию автоматически запрашивает и устанавливает бесплатные TLS-сертификаты от центра сертификации Let’s Encrypt. При этом Let’s Encrypt проверяет контроль над именем домена, для которого запрашивается сертификат. Соответственно, для успешного прохождения такой проверки веб-ресурс должен быть доступен по своему доменному имени, а не только по IP-адресу сервера. Таким образом, чтобы установка TLS-сертификата была возможна, необходимо привязать доменное имя к IP-адресу сервера. Это выполняется с помощью DNS-записи типа A.
Установка Caddy
Caddy присутствует в стандартных репозиториях Ubuntu, поэтому для базовой установки достаточно воспользоваться пакетным менеджером APT:
$ sudo apt install caddy
Конфигурация Caddy настраивается при помощи файла Caddyfile – лаконичного и понятного даже без глубокого знания веб-серверов:
$ sudo nano /etc/caddy/Caddyfile
Если вы планируете использовать Caddy исключительно в роли обратного прокси, то для его настройки достаточно следующего содержимого файла Caddyfile:
your-domain-name.ru {
reverse_proxy 127.0.0.1:9001 {
}
}
В данном случае:
your-domain-name.ru– доменное имя, используемое для доступа к RustFS, вместо которого вам необходимо указать своё;9001– порт, который слушает веб-интерфейс RustFS.
Настройка HTTPS-доступа с помощью Caddy
Поскольку порт, по которому доступен веб-интерфейс, после настройки HTTPS будет работать только в сторону обратного прокси, в брандмауэре UFW можно удалить соответствующее ему правило:
$ sudo ufw delete allow 9001/tcp
А правила, открывающие доступ по HTTP и HTTPS, наоборот, необходимо добавить в брандмауэр:
$ sudo ufw allow http
$ sudo ufw allow https
После чего перезапустите службу Caddy:
$ sudo systemctl restart caddy
Именно в момент первого успешного запуска конфигурации, в которой указано доменное имя вашего RustFS, Caddy получает TLS-сертификат.
И чтобы сделать полностью невозможным доступ к веб-интерфейсу по порту 9001, откройте файл переменных окружения:
$ sudo nano /etc/rustfs/rustfs.env
Где значение параметра RUSTFS_CONSOLE_ADDRESS приведите к следующему виду:
RUSTFS_CONSOLE_ADDRESS=127.0.0.1:9001
Затем закройте файл, сохранив внесённые изменения, и перезапустите службу RustFS:
$ sudo systemctl restart rustfs
Для того, чтобы проверить доступность веб-интерфейса RustFS, откройте браузер и перейдите по ссылке на доменное имя, привязанное к IP-адресу вашего сервера.

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