Как подключить MinIO на Timeweb к домену и включить HTTPS: Пошаговый гайд
Timeweb предлагает готовый маркетплейс для развертывания MinIO, но по умолчанию он работает на HTTP и без привязки к домену. В этом гайде я расскажу, как правильно подключить MinIO к вашему домену и настроить HTTPS, чтобы обеспечить безопасное соединение. Разберёмся с настройкой SSL, изменением конфигурации и всеми необходимыми шагами для полного подключения.
Что мы сделаем?
- Привяжем MinIO к домену.
- Установим и настроим Let’s Encrypt SSL.
- Перезапустим MinIO с поддержкой HTTPS.
- Настроим автоматическое обновление сертификата.
Шаг 1: Привязываем MinIO к домену
1.1 Добавляем A-запись в DNS
В панели управления Timeweb добавьте A-запись:
- Имя: storage.yourdomain.com (или другое имя)
- Тип: A
- Значение: IP-адрес вашего сервера
Изменения могут занять до 1 часа.
1.2 Проверяем MinIO
Подключаемся к серверу по SSH:
Проверяем статус MinIO:
Если MinIO запущен, увидите:
Шаг 2: Устанавливаем SSL-сертификат Let’s Encrypt
2.1 Устанавливаем Certbot
Если Certbot не установлен, установите его:
2.2 Запрашиваем сертификат Let’s Encrypt
- certonly – только получение сертификата (без автоматической настройки)
- --standalone – Certbot временно запустит веб-сервер для подтверждения
После успешного выполнения сертификаты появятся в папке:
Шаг 3: Настраиваем MinIO на работу с HTTPS
3.1 Копируем сертификаты
MinIO требует, чтобы сертификаты были в папке /etc/minio/certs/.
Создадим нужную папку:
Копируем сертификаты Let’s Encrypt:
Устанавливаем правильные права:
3.2 Перезапускаем MinIO с HTTPS
Открываем файл конфигурации сервиса MinIO:
Находим строку ExecStart и заменяем её на следующую, чтобы указать MinIO путь к сертификатам и включить веб-консоль на порту 9001:
Открываем конфигурацию MinIO:
Находим строку MINIO_SERVER_URL и MINIO_OPTS и изменяем её:
Сохраняем и выходим.
Перезапускаем MinIO:
Проверяем статус:
Теперь MinIO работает по HTTPS и доступен по https://storage.yourdomain.com.
Шаг 4: Автоматическое обновление сертификатов
Сертификаты Let’s Encrypt выпускаются сроком на 90 дней. Добавим автоматическое обновление в cron каждую неделю:
Добавляем строку:
Это будет запускать обновление SSL каждое воскресенье в 03:03 ночи и перезапускать MinIO.
Заключение
Теперь MinIO привязан к вашему домену и работает с HTTPS. Мы также настроили автоматическое обновление SSL, чтобы MinIO всегда использовал актуальные сертификаты. 🚀