Как настроить Tunnels от Cloudflare.
Источник: https://bashdays.t.me
Идем в Cloudfalre и в левом сайдбаре пиздуем в Zero Trust Overview, открываем раздел Network и переходим в Tunnels.
У тебя уже должен быть какой-нибудь домен, который заведен в cloudflare.
Позже будет создан субдомен, который автоматически прикрутится через CNAME к твоим сервисам за NAT.
Жмем кнопку — Add a tunnel. Выбираем — Cloudflared.
Пишем название своего тоннеля. Я назову его bashdays и жмем Save tunnel.
Выбираем свою систему, на которую установим демона Cloudflared
Ниже появится строчка для регистрации, копируем её, идем на свой сервер который за натом и запускаем от рута.
На сервере стартует демон Cloudflared и автоматически создает тоннель.
Возвращаемся в морду cloudflare и видим, что тоннель поднялся и активен.
Теперь нужно прокинуть сервисы и привязать домен.
Жмем на три точки справа и выбираем Configure
Переходим на вкладку Public hostname и жмем Add a public hostname
Заполняем поля, указываем субдомен на который будет прокинут сервис, сам домен, путь если нужно, протокол и куда спроксипасить.
Я проксипасю на хостовую машину на 80й порт, на нем у меня nginx. Можешь поднять коннектор сloudflared в докере и прокидывать свои докер контейнеры на домены.
Всё! Жмем Save hostname. И радуемся!
Теперь открываем браузер и идем на домен https://cf.bashdays.ru и наблюдаем стартовую страницу nginx.
Поздравляю! Мы обошли NAT, попали на свой домашний сервер не настраивая никакие роутеры и т.п. + у нас автоматически сгенерился SSL сертификат и подключение стало безопасным.
Вот так просто можно нахуевертить себе удобное проксирование на домашние сервисы.
Но прежде чем это делать, подумай — а безопасно ли это решение? Пускать какой-то сторонний сервис в свой домашний периметр.