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

Настройка

Создайте Cloudflare Tunnel и опубликуйте своё первое приложение менее чем за 5 минут.

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

Создать туннель

Чтобы создать новый Cloudflare Tunnel:

  1. В Панель управления Cloudflare ↗, перейдите в Сеть > Tunnels.

    Перейдите в Tunnels ↗
  2. Выберите Create Tunnel.

  3. Введите имя туннеля (например, production-web или staging-api).

  4. Выберите Create Tunnel.

  5. В разделе Настройка окружения, выберите операционную систему и архитектуру сервера.

  6. Скопируйте команды установки, показанные в разделе Установка и запуск и выполните их в терминале на вашем сервере.

  7. После подключения туннеля выберите Продолжение.

Туннель должен появиться на Tunnels страница с Healthy статус.

  1. Создание API-токена со следующими разрешениями:

    Тип Элемент Разрешение
    Аккаунт Cloudflare Tunnel Изменить
    Zone DNS Изменить
  2. Создайте туннель:

    Необходимые разрешения API-токена

    Хотя бы одно из следующих права доступа токена требуется:
    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write
    Создайте Cloudflare Tunnel
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "api-tunnel",
    		"config_src": "cloudflare"
    	}'
  3. Скопируйте id и token значения из ответа. Они понадобятся вам для настройки и запуска туннеля.

Публикация приложения

Чтобы сделать приложение доступным из интернета, добавьте в туннель маршрут для публикации приложения. Маршрут туннеля сопоставляет публичное имя хоста с локальным сервисом.

  1. В Панель управления Cloudflare ↗, перейдите в Сеть > Tunnels и выберите ваш туннель. Перейдите в Tunnels ↗

  2. В разделе Маршруты, выберите Добавить маршрут.

  3. Выберите Published application.

  4. В разделе Имя хоста, введите поддомен и выберите домен в выпадающем меню.

  5. Для URL службы, введите локальный адрес и порт приложения.

    Например, если веб-сервер работает на той же машине, что и cloudflared:

    • HTTP на порту 80: http://localhost:80
    • HTTPS на порту 443: https://localhost:443

    Если ваш веб-сервер работает на другом компьютере: http://192.0.2.1:80

  6. Выберите Добавить маршрут.

  1. Настройте правила входящего трафика туннеля:

    Необходимые разрешения API-токена

    Хотя бы одно из следующих права доступа токена требуется:
    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write
    Обновите конфигурацию Tunnel
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID/configurations" \
    	--request PUT \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"config": {
    				"ingress": [
    						{
    								"hostname": "app.example.com",
    								"service": "http://localhost:80",
    								"originRequest": {}
    						},
    						{
    								"service": "http_status:404"
    						}
    				]
    		}
    	}'

    Ваши правила ingress должны включать catch-all-правило в конце списка. В этом примере cloudflared ответит кодом состояния 404, если запрос не соответствует ни одному имени хоста.

  2. Создайте DNS-запись для своего приложения:

    Необходимые разрешения API-токена

    Хотя бы одно из следующих права доступа токена требуется:
    • DNS Write
    Create DNS Record
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"type": "CNAME",
    		"proxied": true,
    		"name": "app.example.com",
    		"content": "<TUNNEL_ID>.cfargotunnel.com"
    	}'
  3. Установка cloudflared на вашем сервере и запустить туннель с помощью token полученный в Создать туннель:

    1. Скачайте и установите ↗ cloudflared.

    2. Выполните следующую команду:

      sudo cloudflared service install <TUNNEL_TOKEN>
    1. Скачайте и установите cloudflared.

    2. Откройте командную строку от имени администратора.

    3. Выполните следующую команду:

      cloudflared.exe service install <TUNNEL_TOKEN>
    1. Скачайте и установите cloudflared.

    2. Откройте окно терминала и выполните следующую команду:

      sudo cloudflared service install <TUNNEL_TOKEN>
    1. Откройте окно терминала.

    2. Выполните следующую команду:

      docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <TUNNEL_TOKEN>

Приложение теперь доступно по указанному вами имени хоста. Cloudflare автоматически проксирует трафик через свою сеть, применяя кеширование CDN, защиту WAF и защиту от DDoS-атак.

Быстрые туннели (для разработки)

Для локальной разработки можно мгновенно предоставить доступ к localhost без учётной записи Cloudflare:

cloudflared tunnel --url http://localhost:8080

Это генерирует случайный trycloudflare.com поддомен, который проксирует трафик на ваш локальный сервер. Quick Tunnels предназначены только для тестирования: они ограничены 200 одновременными запросами и не поддерживают Server-Sent Events (SSE).

Для использования в рабочей среде создать туннель взамен.

Следующие шаги