Skip to content

Настройка туннеля Cloudflare

Andrei Kurosh edited this page Dec 15, 2023 · 2 revisions

Cloudflare Tunnel - удобный способ выложить в интернет инстанс Bonsai, запущенный на вашем домашем компьютере\сервере\NAS. Сервис делает следующе:

  1. Выдает SSL-сертификат для работы по HTTPS
  2. Защищает от хакерских атак
  3. Проксирует трафик "куда надо", если у вас динамический или серый IP

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

Для данного мануала необходимо, чтобы у вас:

  1. Был сервер с полным доступом к нему
  2. На сервере был установлен Docker и вы могли запускать в нем контейнеры
  3. Уже запущен контейнер с Bonsai (но без Traefik, как например из docker-compose.lite.yml)

Дальше в инструкции предполагается, что:

  • Локальный IP сервера равен 192.168.1.2
  • Bonsai запущен на порту 8080
  • Ваш домен называется example.com

Вместо этих значений вы можете использовать любые удобные вам, но не забывайте обновлять их везде.

Добавление домена в Cloudflare

  1. Создайте учетную запись Cloudflare
  2. На главной страницы личного кабинета Cloudflare нажмите на кнопку "Add a site"
  3. Введите адрес домена
  4. Выберите бесплатный тарифный план
  5. Дождитесь окончания сканирования DNS-записей, проверьте их (если есть важные)
  6. Скопируйте предлагаемые адреса name-серверов (вида xxx.ns.cloudflare.com)
  7. Зайдите в админку вашего регистратора доменного имени (godaddy, namecheap, reg.ru, ... - зависит от вас) и пропишите указанные на предыдущем шаге значения
  8. Дождитесь обновления записей - Cloudflare уведомит, что все поменялось

Развертывание туннельного сервиса

  1. На главной странице Cloudflare выберите пункт левого меню Zero Trust
  2. На новой странице выберите пункт Access \ Tunnels

Tunnels

  1. Нажмите Create A Tunnel, введите имя и следуйте дальнейшим инструкциям на сайте
  2. В результате вы должны будете запустить новый контейнер cloudflare/cloudflared:latest на сервере
  3. Дождитесь, когда Cloudflare скажет что статус туннеля Healthy

Healthy

Создание туннеля

  1. Выберите свой туннель в списке, нажмите на кнопку Configure
  2. На вкладке Public Hostname нажмите на кнопку Add Public Hostname
  3. Заполните форму следующим образом (при необходимости укажите другой локальный IP и порт):

Form

Дальше, если вы зайдете по адресу https://bonsai.example.com, у вас должен открыться интерфейс авторизации Bonsai. HTTPS-сертификат также должен работать корректно.