云服务器内容精选
-
背景信息 根据对端网关IP地址个数不同,推荐的组网如表1所示。 表1 组网关系 对端网关IP个数 推荐组网 说明 1 VPN网关推荐使用双活模式,该场景占用1个VPN连接组配额。 2 VPN网关推荐使用主备模式,该场景占用2个VPN连接组配额。 如果用户数据中心仅有一个对端网关,且对端网关只能配置一个IP地址,VPN网关推荐使用双活模式,主EIP、主EIP2各创建一条VPN连接,对接同一个对端网关的同一个IP地址。该场景下仅占用一个VPN连接组配额。 如果用户数据中心存在两个对端网关,或一个对端网关可以配置两个IP地址,VPN网关推荐使用主备模式,主EIP、备EIP各创建一条VPN连接,对接到对端网关的不同IP地址。该场景下占用两个VPN连接组配额。
-
背景信息 表1 背景信息 监控指标名称 VPN支持情况 是否默认开启 VPN连接状态 企业版VPN、经典版VPN均支持。 是 链路往返平均时延 链路往返最大时延 链路丢包率 接收包速率 发送包速率 接收速率 发送速率 SA接收包速率 SA发送包速率 SA接收速率 SA发送速率 仅企业版VPN支持。 否 单击VPN连接名称,在“基本信息”页签添加健康检查项。 隧道往返平均时延 隧道往返最大时延 隧道丢包率 仅企业版VPN支持。 是 仅VPN连接使用静态路由模式,且开启NQA检测机制场景时支持私网相关监控指标。
-
约束与限制 在VPN网关状态处于“创建中”、“更新中”、“删除中”三种状态时,不能进行VPN网关删除操作。 如果VPN网关下存在VPN连接,则无法直接删除VPN网关。您需要先删除VPN网关下的所有VPN连接,然后再删除VPN网关。 如何删除VPN连接,请参见删除VPN连接。 如果VPN网关绑定的EIP计费模式为包年/包月,删除VPN网关时会同步解绑EIP。解绑后弹性公网IP继续保留,若不再使用可在网关删除后释放。 如果VPN网关绑定的EIP计费模式为按需,删除VPN网关时会同步释放EIP。 如果需要保留按需EIP,则您需要先将该EIP解绑,然后再删除VPN网关。如何解绑EIP,请参见解绑弹性公网IP。 如果VPN网关绑定了加入共享带宽的EIP,删除VPN网关时会同步释放EIP,保留共享带宽。
-
Mac客户端(OpenVPN Connect) 此处以安装OpenVPN Connect(3.4.4.4629)为例,不同软件版本的安装界面可能存在差异,请以实际为准。 在OpenVPN官方网站下载OpenVPN Connect,根据硬件规格选择对应安装程序。 图5 选择安装包 根据界面提示,完成软件安装。 图6 安装OpenVPN Connect 启动OpenVPN Connect客户端,导入已添加客户端证书及私钥的配置文件,填写配置信息后建立VPN连接。 图7 导入配置文件 出现类似下图所示界面,代表连接成功。 图8 连接成功
-
Windows客户端(OpenVPN Connect) 此处以安装OpenVPN Connect 3.4.2(3160)为例,不同软件版本的安装界面可能存在差异,请以实际为准。 在OpenVPN官方网站下载OpenVPN Connect,根据界面提示进行安装。 启动OpenVPN Connect客户端,支持以下两种方式添加配置信息,建立VPN连接。 方式1:使用配置文件(已添加客户端证书及私钥)建立VPN连接 导入已添加客户端证书及私钥的配置文件,建立VPN连接。 方式2:使用原始配置文件(未添加客户端证书及私钥)+USB-Key的组合,建立VPN连接 初始化USB-Key。 此处以使用龙脉mToken GM3000管理员工具(v2.2.19.619)制作USB-Key为例。USB-Key初始化成功后如下图所示,此时需要拔插一下USB设备。 将客户端证书导入USB-Key。 使用USB-Key建立VPN连接。 在OpenVPN Connect中导入USB-Key中未添加客户端CA证书及私钥的配置文件,单击“CONNECT”。 建连过程中,USB-Key需要保持插入状态。 建连成功后,拔出USB-Key,连接不会中断,需要手动断连;USB-Key拔出后,重新建连将失败。 出现类似下图所示界面,代表连接成功。 图1 连接成功
-
Linux客户端 此处以在Ubuntu 22.04(jammy) openvpn_2.5.8-0ubuntu0.22.04.1_amd64操作系统上安装OpenVPN为例,不同Linux系统的安装命令可能存在差异,请以实际为准。(2.5版本不支持dco,需要在配置文件中注释“disable-dco”。) 打开命令行窗口。 执行以下命令安装OpenVPN客户端。 yum install -y openvpn 将已添加客户端证书及私钥的客户端配置文件内容复制至/etc/openvpn/conf/目录。 进入/etc/openvpn/conf/目录,执行以下命令建立VPN连接。 openvpn --config /etc/openvpn/conf/config.ovpn --daemon
-
Mac客户端(Tunnelblick) 此处以安装Tunnelblick(3.8.8d)为例,不同软件版本的安装界面可能存在差异,请以实际为准。 前往官方网站下载Tunnelblick。 您可以根据实际需要下载适用的版本,推荐使用正式版本。下载软件时推荐下载DMG格式的软件。 根据界面提示,安装Tunnelblick。 图2 安装Tunelblick 启动Tunnelblick客户端,将已添加客户端证书及私钥的配置文件上传至Tunnelblick客户端,建立VPN连接。 图3 上传客户端配置文件 出现类似下图所示界面,代表连接成功。 图4 连接成功
-
iOS客户端 此处以安装OpenVPN Connect(3.4.0)为例,不同软件版本的安装界面可能存在差异,请以实际为准。 在App Store搜索“OpenVPN Connect”,下载并安装。 下载客户端配置,在“client_config.ovpn”文件中添加客户端证书及私钥,然后通过OpenVPN Connect打开,按照界面提示添加客户端配置。 图11 导入配置文件 出现类似下图所示界面,代表连接成功。 图11 连接成功
-
响应消息 响应参数 返回状态码为 200: successful operation。 表2 响应Body参数列表 名称 类型 描述 availability_zones AvailabilityZones object 可用区列表。 request_id String 请求ID。 表3 AvailabilityZones 名称 类型 描述 basic VpnGatewayAvailabilityZones object Basic网关规格。 professional1 VpnGatewayAvailabilityZones object Professional1网关规格。 Professional1-NonFixedIP VpnGatewayAvailabilityZones object Professional1-NonFixedIP网关规格。 professional2 VpnGatewayAvailabilityZones object Professional2网关规格。 Professional2-NonFixedIP VpnGatewayAvailabilityZones object Professional2-NonFixedIP网关规格。 gm VpnGatewayAvailabilityZones object GM网关规格。 以上网关规格的实际可选范围请参考VPN控制台创建VPN网关页面的Specification选项。 表4 VpnGatewayAvailabilityZones 名称 类型 描述 vpc Array of String 关联VPC类型的可用区列表。 er Array of String 关联ER类型的可用区列表。 响应样例 { "availability_zones": { "basic": { "vpc": ["cn-south-1f"], "er": [] }, "professional1": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] }, "professional2": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] }, "Professional1-NonFixedIP": { "vpc": [], "er": [] }, "Professional2-NonFixedIP": { "vpc": [], "er": [] }, "gm": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] } }, "request_id": "b60309ab-812c-4269-9de4-fb9a65e6db16" }
-
响应消息 响应参数 返回状态码为 200: successful operation。 表8 响应Body参数列表 名称 类型 描述 vpn_connection ResponseVpnConnection object vpn_connection对象。 request_id String 请求ID。 表9 ResponseVpnConnection 名称 类型 描述 id String 功能说明:VPN连接ID。 格式:36位UUID。 name String 功能说明:VPN连接名称,不填时会自动生成。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 vgw_id String 功能说明:VPN网关ID。 格式:36位UUID。 vgw_ip String 功能说明: VPN网关EIP的ID或接入私网IP。 格式:36位UUID或点分十进制IPv4地址(如192.168.45.7)。 style String 功能说明:连接模式。 取值范围: POLICY: 策略模式。 STATIC: 静态路由模式。 BGP: bgp路由模式。 POLICY-TEMPLATE: 策略模板模式。 cgw_id String 功能说明:对端网关ID。 格式:36位UUID。 peer_subnets Array of String 对端子网。当VPN网关的关联模式为ER并且style字段为BGP或POLICY时不返回。 tunnel_local_address String 路由模式下配置在VPN网关上的tunnel接口地址。仅当style为STATIC或BGP时有效。 tunnel_peer_address String 路由模式下配置在用户侧设备上的tunnel接口地址。仅当style为STATIC或BGP时有效。 enable_nqa Boolean 功能说明:开启NQA检测。仅当style为STATIC时返回。 取值范围:true,false。 policy_rules Array of PolicyRule objects 策略模式的策略规则组。仅当style为POLICY时返回实际的策略规则组。 ikepolicy IkePolicy object ike策略对象。 ipsecpolicy IpsecPolicy object ipsec策略对象。 created_at String 创建时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss.SSSZ。 updated_at String 最后一次更新时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss.SSSZ。 enterprise_project_id String 功能说明:企业项目ID。 格式:36位UUID。与vgw_id所标识VPN网关的企业项目ID一致。 connection_monitor_id String 功能说明:VPN连接监控ID。仅当VPN连接下创建有连接监控时返回。 格式:36位UUID。 ha_role String 功能说明:主备模式VPN网关下的连接时,'master'表示主连接,'slave'表示备连接。双活模式下的连接ha_role都是'master'。 默认值:master。 tags Array of VpnResourceTag objects 标签列表。 表10 PolicyRule 名称 类型 描述 rule_index Integer 功能说明:规则ID。 取值范围:0-50。 source String 源地址网段。 destination Array of String 目的地址网段。单个网段格式示例:192.168.52.0/24。每个PolicyRule最多返回50个。 表11 IkePolicy 名称 类型 描述 ike_version String 功能说明:IKE版本号。 取值范围:v1, v2。 phase1_negotiation_mode String 功能说明:协商模式。仅当IKE版本为v1时返回。 取值范围: main:主模式,协商过程安全性高。 aggressive:野蛮模式,协商快速且协商成功率高。 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。 dh_group String 功能说明:第一阶段密钥交换使用的DH组,当VPN网关flavor为GM时不返回。 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21。 authentication_method String 功能说明:ike协商时的认证方法。 取值范围: pre-share:预共享密钥。 digital-envelope-v2:国密数字信封。 lifetime_seconds Integer 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。 取值范围:60-604800,单位:秒。 local_id_type String 功能说明:本端ID类型,当VPN网关flavor为GM时不返回。 取值范围: ip。 fqdn。 local_id String 本端ID。当local_id_type为ip时返回VPN连接所使用的网关IP;当local_id_type为fqdn时返回创建或更新VPN连接时指定的本端ID。 当VPN网关flavor为GM时不返回。 peer_id_type String 功能说明:对端ID类型,当VPN网关flavor为GM时不返回。 取值范围: ip。 any。 fqdn。 peer_id String 对端ID。当peer_id_type为ip时返回对端网关的IP;当peer_id_type为fqdn时返回创建或更新VPN连接时指定的对端ID;当peer_id_type为any时不返回。 当VPN网关flavor为GM时不返回。 dpd Dpd object 对等体存活检测对象。 表12 Dpd 名称 类型 描述 timeout Integer 功能说明:对等体存活检测报文重传间隔。 取值范围:2-60,单位:秒。 interval Integer 功能说明:对等体存活检测空闲时间。 取值范围:10-3600,单位:秒。 msg String 功能说明:对等体存活检测报文格式。 取值范围: seq-hash-notify:指定DPD报文中的载荷顺序是hash-notify。 seq-notify-hash:指定DPD报文中的载荷顺序是notify-hash。 表13 IpsecPolicy 名称 类型 描述 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。 pfs String 功能说明:PFS使用的DH密钥组 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21,disable。 transform_protocol String 功能说明:传输协议。 取值范围: esp:封装安全协议。 lifetime_seconds Integer 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。 取值范围:30-604800,单位:秒。 encapsulation_mode String 功能说明:报文封装模式。 取值范围: tunnel:隧道模式。 表14 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 更新VPN连接的响应。 { "vpn_connection": { "id": "98c5af8a-demo-a8df-va86-ae2280a6f4c3", "name": "vpn-1655", "vgw_id": "b32d91a4-demo-a8df-va86-e907174eb11d", "vgw_ip": "0c464dad-demo-a8df-va86-c22bb0eb0bde", "style": "POLICY", "cgw_id": "5247ae10-demo-a8df-va86-dd36659a7f5d", "peer_subnets": ["192.168.1.0/24"], "tunnel_local_address": "169.254.56.225/30", "tunnel_peer_address": "169.254.56.226/30", "policy_rules": [{ "rule_index": 1, "source": "10.0.0.0/24", "destination": [ "192.168.1.0/24" ] }], "ikepolicy": { "ike_version": "v2", "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "dh_group": "group15", "authentication_method": "pre-share", "lifetime_seconds": 86400, "local_id_type": "ip", "local_id": "10.***.***.134", "peer_id_type": "ip", "peer_id": "88.***.***.164", "dpd": { "timeout": 15, "interval": 30, "msg": "seq-hash-notify" } }, "ipsecpolicy": { "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "pfs": "group15", "transform_protocol": "esp", "lifetime_seconds": 3600, "encapsulation_mode": "tunnel" }, "created_at": "2022-11-26T13:41:34.626Z", "updated_at": "2022-11-26T13:41:34.626Z", "enterprise_project_id": "0", "ha_role": "master" }, "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae" } 冻结场景下更新失败。 { "error_code": "VPN.0001", "error_msg": "invalid request: ILLEGAL not allowed update vpnConnection", "request_id": "8c833634-4560-7897-7740-a7462f5bcbd4" }
-
前提条件 已创建VPC,具体请参见创建VPC。 您需要规划VPN网关所在的区域信息,并根据区域确定调用API的Endpoint。 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权章节。 通过 IAM 服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
-
数据准备 表1 创建VPN网关请求关键参数 参数 说明 取值样例 vpc_id VPN网关所连接的VPC的ID。 cb4a631d-demo-a8df-va86-ca3fa348c36c local_subnets 本端子网。 192.168.0.0/24,192.168.1.0/24 connect_subnet VPN网关所使用的VPC中的子网ID。 f5741286-demo-a8df-va86-2c82bd9ee114 eip1.id VPN网关使用的第一个EIP的ID。 cff40e5e-demo-a8df-va86-7366077bf097 eip2.id VPN网关使用的第二个EIP的ID。 d290f1ee-demo-a8df-va86-d701748f0851
-
操作步骤 创建关联VPC的VPN网关。 发送“POST https://{endpoint}/v5/{project_id}/vpn-gateways”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "vpn_gateway": { "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "eip1": { "id": "cff40e5e-demo-a8df-va86-7366077bf097" }, "eip2": { "id": "d290f1ee-demo-a8df-va86-d701748f0851" } } } 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN网关的ID。 { "vpn_gateway": { "id": "620d99b8-demo-a8df-va86-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "attachment_type": "vpc", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": ["192.168.0.0/24", "192.168.1.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "access_vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "flavor": "Professional1", "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0" }, "request_id": "4a739f5c-edb7-4122-b31f-b77fb1b94857" } 查询VPN网关详情。 发送“GET https://{endpoint}/v5/{project_id}/vpn-gateways/{vgw_id}”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN网关的ID。 { "vpn_gateway": { "id": "620d99b8-demo-a8df-va86-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "status": "ACTIVE", "attachment_type": "vpc", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "access_vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": [ "cn-south-1f", "cn-south-1e" ], "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "eip1": { "id": "cff40e5e-demo-a8df-va86-7366077bf097", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.8", "charge_mode": "bandwidth", "bandwidth_id": "593a1a79-demo-a8df-va86-64ec45fb23f6", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1391" }, "eip2": { "id": "d290f1ee-demo-a8df-va86-d701748f0851", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.6", "charge_mode": "bandwidth", "bandwidth_id": "0abb9d55-demo-a8df-va86-b7500ac2a338", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1392" }, "created_at": "2022-09-15T08:56:09.386Z", "updated_at": "2022-09-15T11:13:13.677Z" }, "request_id": "d099a7dc-ea71-45a6-a75b-dccbfe17d438" }
-
响应消息 响应参数 返回状态码为 200: 更新成功。 表5 响应Body参数列表 名称 类型 描述 customer_gateway ResponseCustomerGateway object customer_gateway对象。 request_id String 请求id。 表6 ResponseCustomerGateway 名称 类型 描述 id String 功能说明:对端网关的ID。 格式:36位UUID。 name String 功能说明:对端网关名称,不填时会自动生成。 取值范围:1-64个字符,包括数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 id_type String 功能说明:对端网关标识类型。 取值范围: ip。 fqdn。 id_value String 对端网关标识值。 bgp_asn Long 对端网关的BGP自治域编号。仅当id_type为ip时返回。 created_at String 创建时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss.SSSZ。 updated_at String 最后一次更新时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss.SSSZ。 ca_certificate CaCertificate object 对端网关CA证书信息。仅当对端网关绑定CA证书时返回。 tags Array of VpnResourceTag objects 标签列表。 表7 CaCertificate 名称 类型 描述 id String 证书ID。 serial_number String 证书序列号。 signature_algorithm String 签名算法。 issuer String 证书颁发者。 subject String 证书使用者。 expire_time String 证书过期时间。 is_updatable boolean 是否能更新证书内容。 表8 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 { "customer_gateway": { "id": "03c0aa3d-demo-a8df-va86-9d82473765d4", "name": "cgw-f846", "id_type": "ip", "id_value": "10.***.***.21", "bgp_asn": 65533, "ca_certificate": { "serial_number": "14257156674311863338", "signature_algorithm": "SM3WITHSM2", "issuer": "C=CN,O=a0002,CN=XXX", "subject": "C=CN,O=a0002,CN=XXX", "expire_time": "2024-05-22T07:34:22Z", "is_updatable": true }, "created_at": "2021-12-21T16:49:28.108+08:00", "updated_at": "2021-12-21T16:49:28.108+08:00" }, "request_id": "96718f4a-f57a-4e1f-8d05-7d5e903c8d90" }
-
请求消息 请求参数 表2 请求参数 名称 类型 是否必选 描述 customer_gateway UpdateCgwRequestBodyContent object 是 customer_gateway对象。 表3 UpdateCgwRequestBodyContent 名称 类型 是否必选 描述 name String 否 功能说明:网关名称。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。 ca_certificate CaCertificateRequest object 否 功能说明:对端网关CA证书。 表4 CaCertificateRequest 名称 类型 是否必选 描述 id String 否 功能说明:证书ID。 格式:36位UUID。 content String 否 功能说明:对端网关CA证书内容。 取值范围:1-8192个字符。 请求样例 PUT https://{Endpoint}/v5/{project_id}/customer-gateways/{customer_gateway_id} { "customer_gateway": { "name": "cgw-f846", "ca_certificate": { "content":"******" } } }
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格