INTEGRITY Документация

Публикация локально размещённого приложения в интернете

Добавив Cloudflare Access в качестве уровня аутентификации между конечным пользователем и исходным сервером, вы можете безопасно публиковать внутренние инструменты и приложения.

На этой странице описано, как сделать веб-приложение доступным для любого пользователя интернета через общедоступное имя хоста. Чтобы сделать приложение доступным по приватному IP-адресу или имени хоста, см. Добавьте частное локально размещённое приложение.

Предварительные требования

1. Добавьте своё приложение в Access

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Приложения.

  2. Выберите Создать новое приложение.

  3. Выберите Самостоятельный хостинг и конфиденциальность.

  4. Выберите Добавьте общедоступное имя хоста.

  5. В Домен раскрывающемся списке выберите домен, который будет представлять приложение. Домены должны принадлежать активной зоне в вашем аккаунте Cloudflare. Вы можете использовать подстановочные знаки и защитите несколько частей приложения, использующих общий корневой путь.

    Как вариант, чтобы использовать пользовательское имя хоста Cloudflare for SaaS, выберите Переключиться на пользовательский ввод и введите своё собственное имя хоста.

  6. В разделе Политики доступа, добавьте существующую политику или создать новую политику чтобы управлять тем, кто может подключаться к вашему приложению. Все приложения Access по умолчанию запрещают доступ: пользователь должен соответствовать политике Allow, прежде чем получить доступ.

  7. Настройте, как пользователи будут проходить аутентификацию:

    1. Выберите поставщики идентификации которые вы хотите включить для своего приложения.

    2. (Рекомендуется) Если вы планируете разрешить доступ только через один IdP, включите Применить мгновенную аутентификацию. Конечные пользователи не увидят Страница входа Cloudflare Access. Вместо этого Cloudflare будет перенаправлять пользователей напрямую на событие входа SSO.

    3. (Необязательно) Включите Аутентификация с помощью Cloudflare One Client чтобы разрешить пользователям аутентифицироваться в приложении с использованием Идентификатор сессии Cloudflare One Client.
  8. (Необязательно) Настройте независимая MFA для приложения.

  9. В Длительность сессии, выберите, как часто пользовательский токен приложения должен истечь.

    Cloudflare проверяет каждый HTTP-запрос к вашему приложению на наличие действительного токена приложения. Если срок действия токена приложения пользователя (и глобального токена) истёк, ему будет предложено повторно пройти аутентификацию через IdP. Дополнительные сведения приведены в разделе Управление сессиями.

  10. (Необязательно) Перейдите в Дополнительные настройки вкладку, чтобы настроить работу с приложением:

    • Настройка App Launcher: Настройте, как это приложение отображается пользователям в App Launcher.
    • Пользовательские страницы блокировки: Выберите, что увидят пользователи при отказе в доступе к приложению.

      • Cloudflare по умолчанию: Перезагрузите страница входа и отображает сообщение о блокировке под логотипом Cloudflare Access. Сообщение по умолчанию: That account does not have access, или вы можете ввести собственное сообщение.
      • Redirect URL: Перенаправление на указанный веб-сайт.
      • Пользовательский шаблон страницы: Отобразите пользовательская страница блокировки размещенный в Cloudflare One.
  11. Выберите Создание.

2. Подключите свой источник к Cloudflare

Настройте Cloudflare Tunnel и опубликуйте ваше внутреннее приложение. Доступ будет предоставлен только пользователям, соответствующим вашим политикам Access.

Если ваше приложение уже доступно для маршрутизации из интернета, туннель не является строго обязательным. Однако в этом случае вам нужно будет защитить IP-адрес источника с помощью другие методы.

3. Проверьте токен Access

Чтобы защитить свой источник, необходимо проверить токен приложения выданный Cloudflare Access. Проверка токена гарантирует, что любые запросы, обходящие Cloudflare Access (например, из-за неправильной настройки сети), будут отклонены.

Один из вариантов: настроить демон Cloudflare Tunnel, cloudflared, чтобы проверить токен от вашего имени. Это делается путём включения Защита с помощью Access в настройках Cloudflare Tunnel. Если вы не хотите выполнять автоматическую проверку с помощью Cloudflare Tunnel, вместо этого можно вручную настроить ваш origin чтобы проверить все запросы на наличие действительного токена.

Теперь пользователи могут подключаться к вашему локально размещённому приложению после аутентификации через Cloudflare Access.

Частичная настройка (CNAME)

Если ваш домен использует частичная (CNAME) настройка, Cloudflare не управляет вашей DNS-зоной. После добавления маршрута опубликованного приложения к туннелю вам нужно вручную создать DNS-записи у внешнего провайдера.

Добавьте маршрут опубликованного приложения

В конфигурации туннеля Добавьте маршрут опубликованного приложения который сопоставляет имя хоста с вашим внутренним сервисом. Например, задайте для имени хоста значение app.example.com и направьте его на http://localhost:8080.

Создайте запись CNAME у своего DNS-провайдера

В полная настройка DNS, Cloudflare автоматически создает DNS-записи, когда вы добавляете маршрут опубликованного приложения к туннелю. При частичном (CNAME) при настройке необходимо добавить запись CNAME у DNS-провайдера, который обслуживает ваш домен (у вашего авторитетного DNS-провайдера).

У своего внешнего DNS-провайдера создайте запись CNAME со следующими значениями:

Совместимость продукта

При использовании локально размещенных приложений Access большинство продуктов Cloudflare будут совместимы с вашим приложением.

Однако следующие продукты не поддерживаются:

Вы можете отключить Zaraz для конкретного приложения, а не для всей зоны целиком, с помощью Configuration Rule с ограничением по домену приложения.

Google tag gateway настраивается на уровне зоны, и его нельзя ограничить конкретными именами хостов. Чтобы использовать файл cookie привязки Access для имени хоста, отключите Google tag gateway для всей зоны.