Criação de aplicativos Range

A criação de um aplicativo Range envolve a configuração de como o tráfego é roteado para os servidores de origem, com suporte para a especificação de protocolos, configurações de origem e recursos avançados, como a terminação TLS e regras personalizadas. Você pode adicionar um aplicativo Range usando o console CIS ou a API.

O Range está disponível somente para clientes Enterprise por um custo adicional e é precificado por uso de largura da banda.

Antes de Iniciar

Analise as seguintes considerações de planejamento:

  • Você pode criar até 10 aplicativos Range, cada um com uma origem exclusiva. Cada aplicativo Range com uma origem exclusiva requer um endereço IP exclusivo, que é um recurso limitado. Se você precisar de mais de 10 aplicativos Range, envie um caso de suporte para IBM. As solicitações para aumentar o limite exigem uma análise do caso de uso e podem levar vários dias

    É possível criar mais de 10 aplicativos, desde que eles compartilhem uma origem já existente, mas utilizem portas diferentes.

  • Para aplicativos de TCP Range, somente regras de IP personalizadas se aplicam porque essas regras operam nas camadas 3 e 4 do OSI. HTTP (S) Os aplicativos de alcance suportam tanto regras de firewall quanto regras de IP. Em geral, as regras de firewall são projetadas para propriedades da Camada 7 ( HTTP ), como cabeçalhos de solicitação e conteúdo do corpo.

Para obter mais informações, consulte Aplicativos de alcance.

Criação de um aplicativo Range no console

Para adicionar um aplicativo Range no console, siga estas etapas:

  1. No console CIS, navegue até a seção Security (Segurança ).

  2. Selecione a guia “Intervalo ” e, em seguida, clique em “Criar ”.

  3. Selecione um tipo de aplicativo na lista: TCP, UDP, HTTP, HTTPS, RDP, SSH ou Minecraft. Para obter mais informações, consulte Protocolos e casos de uso.

  4. Insira o nome do aplicativo. Esse nome associa seu aplicativo a um nome DNS em seu domínio CIS.

  5. Digite a porta de borda. O site CIS escuta as conexões de entrada nessas portas e faz proxy delas para a sua origem. As conexões com esses endereços são roteadas por proxy para a sua origem

    Você pode inserir um intervalo de portas, por exemplo, (8080-8090), mas a origem deve ter um número igual de portas consecutivas que correspondam ao intervalo.

  6. Selecione a conectividade de IP de borda.

  7. Na seção Origin (Origem), insira o IP e a porta de origem do seu aplicativo TCP ou selecione um balanceador de carga e uma porta existentes.

  8. Opcionalmente, ative as regras personalizadas. Quando ativadas, as regras com a ação “bloquear” ou “lista de permissões” são aplicadas ao aplicativo.

  9. Opcionalmente, ative a terminação de borda TLS. Quando ativado, selecione na lista o tipo de terminação “ TLS ” que você deseja usar.

  10. Opcionalmente, selecione um protocolo PROXY se você tiver um proxy em linha compatível com ele. Isso é útil se você estiver executando um serviço que exija o conhecimento do endereço IP real do cliente. Normalmente, essa configuração permanece em off.

  11. Clique em Criar.

O provisionamento de um aplicativo Range incorre em custos adicionais, com base na quantidade de largura de banda usada por aplicativo.

Visualizando as métricas

Seu aplicativo agora está pronto para colocar em proxy o tráfego TCP por meio do CIS (Cloudflare).

Acesse Métricas > Intervalo para visualizar o número de conexões com aplicativos e a taxa de transferência de tráfego.

Os gráficos mostram métricas para até 10 aplicativos.

Para alternar entre as métricas dos aplicativos, use a tecla “Gráfico” ou clique em “Selecionar aplicativos ”. Para alterar o período dos dados de métricas, use o menu de lista.

Exemplos de uso da API

Use os exemplos a seguir para criar e listar os aplicativos Range.

Criação de aplicativos Range

Você pode designar uma origem de duas maneiras nos aplicativos Range:

  1. IP de origem - Use o parâmetro origin_direct.
  2. Equilibrador de carga — Utilize os parâmetros origin_dns e origin_port.

Para a solicitação de IP de origem:

curl --request POST \
  --url https://api-int.cis.dev.cloud.ibm.com/v1/crn:v1:staging:public:internet-svcs-ci:global:a/ce12845bf2914ca18db35bedcd9aefa2:e04e7ccd-9197-4b6d-bf98-933de5074fe6::/zones/2566bebb17f5c0b559a9873a692ccab5/range/apps \
  --header 'Content-Type: application/json' \
  --header 'X-AUTH-USER-TOKEN: Bearer XXXX' \
  --data '{"protocol":"tcp/22","dns":{"type":"CNAME","name":"origin.entdemo5.batflare.com"},"origin_direct":
["tcp://8.8.8.8:22"],"proxy_protocol":"off","ip_firewall":true}'

Resposta de exemplo:

{
    "result": {
        "id": "de4d336aea6f4f56b998ffdec9a0f00c",
        "protocol": "tcp/22",
        "dns": {
            "type": "CNAME",
            "name": "origin.entdemo5.batflare.com"
        },
        "origin_direct": [
            "tcp://8.8.8.8:22"
        ],
        "ip_firewall": true,
        "proxy_protocol": "off",
        "tls": "off",
        "traffic_type": "direct",
        "edge_ips": {
            "type": "dynamic",
            "connectivity": "all"
        },
        "created_on": "2025-08-13T07:39:54.175727Z",
        "modified_on": "2025-08-13T07:39:54.175727Z"
    },
    "success": true,
    "errors": [],
    "messages": []
}

Exemplo de solicitação usando um balanceador de carga:

curl -X POST \
  https://api.cis.cloud.ibm.com/v1/<url-encoded-crn>/zones/<zone-d>/range/apps \
  -H 'X-Auth-User-Token: <token>' \
  -d '{"protocol":"tcp/22","dns":{"type":"CNAME","name":"ssh.example.com"},"origin_dns": {"name": "test"},"proxy_protocol":true,"ip_firewall":true, "origin_port": 43}'

Resposta de exemplo:

{
    "result": {
        "id": "4f70c3d4f20576b79135b898295e8093",
        "protocol": "tcp/22",
        "dns": {
            "type": "CNAME",
            "name": "ssh.example.com"
        },
        "origin_dns": {
          "name": "test"
        },
        "origin_port": 43,
        "ip_firewall": true,
        "proxy_protocol": true,
        "created_on": "2019-01-09T17:39:09.190606Z",
        "modified_on": "2019-01-09T17:39:09.190606Z"
    },
    "success": true,
    "errors": [],
    "messages": []
}
Nome DNS
O nome DNS associado ao seu aplicativo no seu domínio.
Protocolo/Porta de borda
A porta em que seu aplicativo escuta; as conexões de entrada são enviadas por proxy para sua origem.
Origem direta
O IP e a porta onde seu aplicativo é executado, especificando o fluxo de tráfego da borda à origem.
Firewall de IP
Se ativado, o site CIS aplica critérios de regras personalizadas, como permitir, bloquear ou desafiar IPs ou intervalos específicos, substituindo o comportamento do firewall IP legado para fornecer um controle de acesso mais granular.
Protocolo proxy
Ative somente se você tiver um proxy em linha que suporte o protocolo PROXY v1; normalmente desativado.
DNS de origem
O nome do balanceador de carga usado como sua origem.
Porta de Origem
A porta de seu serviço de origem.

Para obter mais informações, consulte Criação de aplicativos Range.

Listagem de todos os aplicativos Range

Use a seguinte solicitação para listar todos os aplicativos do Range:

curl --request GET \
  --url https://api-int.cis.dev.cloud.ibm.com/v1/crn:v1:staging:public:internet-svcs-ci:global:a/ce12845bf2914ca18db35bedcd9aefa2:e04e7ccd-9197-4b6d-bf98-933de5074fe6::/zones/2566bebb17f5c0b559a9873a692ccab5/range/apps \
  --header'content-type: application/json'
  --header 'X-AUTH-USER-TOKEN: Bearer XXXX' \

Resposta de exemplo:

{
    "result": [
        {
            "id": "de4d336aea6f4f56b998ffdec9a0f00c",
            "protocol": "tcp/22",
            "dns": {
                "type": "CNAME",
                "name": "origin.entdemo5.batflare.com"
            },
            "origin_direct": [
                "tcp://8.8.8.8:22"
            ],
            "ip_firewall": true,
            "proxy_protocol": "off",
            "tls": "off",
            "traffic_type": "direct",
            "edge_ips": {
                "type": "dynamic",
                "connectivity": "all"
            },
            "created_on": "2025-08-13T07:39:54.175727Z",
            "modified_on": "2025-08-13T07:39:54.175727Z"
        }
    ],
    "success": true,
    "errors": [],
    "messages": []
}

Para obter mais informações, consulte Listagem de aplicativos Range.

Listagem de aplicativos Range específicos

Use a seguinte solicitação para listar aplicativos específicos do Range:

curl -X GET \
https://api.cis.cloud.ibm.com/v1/<url-encoded-crn>/zones/<zone-d>/range/apps/4f70c3d4f20546b79135b898295e8093

Exemplo de respostas:

  • Aplicativos por IP de origem:

    {
        "result": {
            "id": "4f70c3d4f20546b79135b898295e8093",
            "protocol": "tcp/22",
            "dns": {
                "type": "CNAME",
                "name": "ssh.example.com"
            },
            "origin_direct": [
                "tcp://172.0.2.1:22"
            ],
            "ip_firewall": true,
            "proxy_protocol": true,
            "created_on": "2019-01-09T17:33:09.190606Z",
            "modified_on": "2019-01-09T17:33:09.190606Z"
        },
        "success": true,
        "errors": [],
        "messages": []
    }
    
  • Aplicativos por balanceador de carga:

    {
        "result": {
            "id": "555359036e7f4acc82d69b916f62caba",
            "protocol": "tcp/22",
            "dns": {
                "type": "CNAME",
                "name": "ssh.example.com"
            },
            "origin_dns": {
                "name": "test_update"
            },
            "origin_port": 76,
            "ip_firewall": true,
            "proxy_protocol": true,
            "created_on": "2019-01-10T22:26:47.167008Z",
            "modified_on": "2019-01-10T22:26:47.167008Z"
        },
        "success": true,
        "errors": [],
        "messages": []
    }