Безболезненная локальная отладка: достижение HTTPS и пользовательского хоста с помощью Cloudflare Tunnel
Эта статья рассказывает о том, как использовать Cloudflare Tunnel для достижения HTTPS и пользовательского имени хоста для безболезненной локальной отладки.
В нашем повседневном развитии мы часто используем http://localhost
, чтобы получить доступ и отлаживать наши приложения, что в большинстве случаев достаточно. Однако в таких ситуациях, как следующие, нам может потребоваться использовать HTTPS и пользовательское имя хоста для отладки наших приложений:
- Когда ваше приложение использует API, который требует HTTPS (например, Web Crypto API или другие сторонние библиотеки, которые требуют HTTPS)
- Когда сторонняя служба, которую вы хотите интегрировать, требует от вас предоставления глобально доступного API-интерфейса на базе HTTPS, и вам нужно отладить этот интерфейс
На рынке существует множество решений для этих проблем, но большинство из них сложны и подвержены ошибкам. Здесь я хотел бы рассказать о том, как использовать Cloudflare Tunnel, чтобы быстро использовать HTTPS и пользовательское имя хоста для локальной разработки.
Что такое Cloudflare Tunnel
Cloudflare Tunnel — это служба, предоставляемая Cloudflare, которая позволяет вам безопасно подключать вашу инфраструктуру к сети Cloudflare. По сути, она создает безопасное и эффективное соединение между вашими серверами и глобальной сетью Cloudflare, обеспечивая защиту и оптимизацию вашего веб-трафика.
Используя Cloudflare Tunnel, вы можете легко подключить вашу локальную машину для разработки к глобальной сети Cloudflared. После этого вы можете разместить ваш домен на Cloudflare и перенаправлять запросы к домену на вашу локальную машину через Cloudflare Tunnel.
Предварительные требования
Прежде чем начать, убедитесь, что вы:
- Уже владеете доменным именем и отключили DNSSEC у вашего регистратора (у которого вы купили доменное имя).
- Ранее создали аккаунт в Cloudflare.
Примечание: В этом руководстве для демонстрационных целей мы предполагаем, что используем demo.com
в качестве нашего домена.
Добавьте веб-сайт в Cloudflare
Сначала вам нужно войти в панель управления Cloudflare с помощью вашего аккаунта в Cloudflare и выбрать опцию "Веб-сайт" из левого меню. Затем нажмите кнопку "Начать" на странице (если запись уже существует, нажмите "Добавить веб-сайт"). Следуйте инструкциям, чтобы завершить добавление веб-сайта, используя домен, которым вы владеете. После успешного добавления веб-сайта вы увидите следующее содержание:
Как показано на рисунке, добавленный веб-сайт еще не активирован. Вам нужно следовать инструкциям на странице, чтобы войти в ваш доменный регистратор и обновить серверы имен домена для активации вашего веб-сайта.
Взяв домен на Godaddy в качестве примера:
Перейдите на страницу настроек домена, получите доступ к опции “Серверы имен” под вкладкой DNS и измените серверы имен на значения, указанные в руководстве:
После изменения подождите некоторое время, и соответствующий веб-сайт на Cloudflare будет активирован:
После настройки этих содержаний ваш домен будет размещен на Cloudflare, и Cloudflare автоматически включит HTTPS для домена.
Создание туннеля
Вернитесь на главную страницу панели управления Cloudflare, нажмите "Zero Trust" в левом меню и выберите "Туннели" в каталоге 'Access'. Затем нажм ите "Добавить туннель" на странице и введите любое имя туннеля (например, my-dev-tunnel). Согласно подсказкам на странице, подключите вашу локальную машину для разработки к туннелю Cloudflare.
Взяв MacOS в качестве примера, откройте терминал и выполните команду, указанную на странице:
Если на вашей машине уже установлено "cloudflared", вам не нужно выполнять brew install cloudflare/cloudflare/cloudflared
.
После этого выполните cloudflared tunnel list
в вашем терминале, и вы увидите, что ваша машина уже подключена к туннелю:
Маршрутизация трафика к созданному туннелю
После создания туннеля мы настроим правила маршрутизации для туннеля.
Предположим, наше локальное приложение работает на порту http://localhost:3000
, и мы хотим перенаправить все запросы на https://dev.demo.com
на порт, на котором работает локальное приложение.
Сначала мы возвращаемся на страницу нашего туннеля, находим только что созданный нами туннель, нажимаем кнопку с тремя точками справа и выбираем "Config".
Заполните соответствующую конфигурацию согласно нашим требованиям:
Эта конфигурация маршрутизирует адрес dev.demo.com
на http://localhost:3000
на нашей машине. Затем нажмите "Сохранить имя хоста".
После короткого ожидания получите доступ к https://dev.demo.com
, и вы увидите приложение, работающее на нашей локальной машине:
Резюме
Благодаря этому руководству, вы теперь должны быть в состоянии легко реализовать HTTPS и пользовательское имя хоста в вашей локальной среде разработки без необходимости беспокоиться о сложных настройках и ошибках. Надеюсь, вы сможете изв лечь пользу из этого руководства!