IBM Cloud Docs
创建范围应用程序

创建范围应用程序

创建“范围”应用程序需要配置如何将流量路由到您的源服务器,并支持指定协议、源设置以及 TLS 终止和自定义规则等高级功能。 您可以使用 CIS 控制台或应用程序接口添加“范围”应用程序。

“范围”仅适用于企业客户,需额外成本,并且按带宽使用量计费。

准备工作

审查以下规划注意事项:

  • 您最多可以创建 10 个“范围”应用程序,每个都有一个唯一的起源。 每个具有唯一来源的 Range 应用程序都需要一个唯一的 IP 地址,而 IP 地址是有限的资源。 如果需要超过 10 个 Range 应用程序,请向 IBM 提交支持案例。 申请提高限额需要进行用例审查,可能需要几天时间

    如果这些应用程序共享一个现有的起源,但使用不同的端口,则可以创建 10 个以上的应用程序。

  • 对于 TCP 范围应用,只适用自定义 IP 规则,因为这些规则在 OSI 第 3 层和第 4 层运行。 HTTP (S) 范围应用程序同时支持防火墙规则和 IP 规则。 一般来说,防火墙规则是针对第 7 层 ( HTTP ) 属性设计的,如请求标头和正文内容。

更多信息,请参阅 范围应用

在控制台中创建范围应用程序

要在控制台中添加“范围”应用程序,请按照以下步骤操作:

  1. 在 CIS 控制台中,导航至安全部分。

  2. 选择范围选项卡,然后单击创建

  3. 从列表中选择应用程序类型:TCP、UDP、HTTP、HTTPS、RDP、SSH 或 Minecraft。 更多信息,请参阅 协议和用例

  4. 输入应用程序名称。 该名称会将您的应用程序与 CIS 域名上的 DNS 名称关联起来。

  5. 输入边缘端口。CIS 会监听这些端口上的传入连接,并将其代理到您的源端口。 与这些地址的连接将采用针对源服务器的代理。

    您可以输入端口范围,例如 (8080-8090),但原点必须有相同数量的连续端口与该范围相匹配。

  6. 选择边缘 IP 连接。

  7. 在起源部分,输入 TCP 应用程序的起源 IP 和端口,或选择现有的负载平衡器和端口。

  8. 可选择启用自定义规则。 启用后,应用程序将执行带有“阻止”或“允许列表”操作的规则。

  9. 可选择启用边缘 TLS 终止。 启用后,从列表中选择要使用的 TLS 终止类型。

  10. 或者,如果您有支持该协议的代理内联,请选择 PROXY 协议。 如果运行的服务需要了解真正的客户端 IP,这就非常有用了。 通常,该设置保持 off

  11. 单击创建

根据每个应用程序使用的带宽量,配置范围应用程序会产生额外费用。

查看度量值

您的应用程序现在可以通过 CIS (Cloudflare) 代理 TCP 流量。

导航至度量值 > 范围以查看应用程序的连接数和吞吐量流量。

图形最多显示 10 个应用程序的度量值。

要切换应用程序指标,请使用图表键或单击选择应用程序。 要更改“度量”数据时间范围,请使用列表菜单。

API 用法示例

使用以下示例创建并列出范围应用程序。

创建范围应用程序

在“范围”应用程序中,有两种方法可以指定原点:

  1. 源 IP - 使用 origin_direct 参数。
  2. 负载平衡器 - 使用 origin_dnsorigin_port 参数。

对于源 IP 请求:

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}'

示例响应:

{
    "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": []
}

使用负载平衡器的请求示例:

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}'

示例响应:

{
    "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": []
}
DNS 名称
域名中与应用程序相关的 DNS 名称。
协议/边缘端口
应用程序监听的端口;传入连接会代理到您的源端口。
原产地直达
应用程序运行所在的 IP 和端口,指定从边缘到源头的流量流向。
IP 防火墙
如果启用,CIS 可执行自定义规则标准,如允许、阻止或质疑特定 IP 或范围,从而取代传统的 IP 防火墙行为,提供更精细的访问控制。
代理协议
仅在有支持 PROXY 协议的内联代理时启用 v1; 通常禁用。
起源 DNS
负载平衡器名称,用作您的原点。
Origin Port
原始服务的端口。

更多信息,请参阅 创建范围应用程序

列出所有范围应用

使用以下请求列出所有范围申请:

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' \
{: pre}

Example response:

```sh
{
    "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": []
}

更多信息,请参阅 列表范围应用

列出具体的范围应用

请按照以下要求列出具体的范围应用:

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

答复示例:

  • Origin IP 提出的申请:

    {
        "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": []
    }
    

  • 负载平衡器的应用程序:

    {
        "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": []
    }