跳到主要内容

自定义域名

管理云开发环境的自定义域名绑定及 HTTP 访问路由规则。通过 app.env 访问。

版本提示

自 v5.0.0 起新增此能力。v5.0.0 之前请使用 HTTP 访问服务(旧)

概念说明

概念说明
自定义域名绑定到云开发 HTTP 访问服务的自定义域名,支持 HTTPS 证书配置
访问路由在某个域名下配置路径到上游服务(云函数/云托管/静态托管)的映射规则
AccessType域名接入方式:DIRECT(直连)/ CDN(云开发 CDN)/ CUSTOM(自定义 CDN/WAF)
ProtocolHTTPS 协议策略:HTTP_AND_HTTPS / HTTP_TO_HTTPS(强制跳转)/ HTTPS_TO_HTTP
UpstreamResourceType路由上游类型:SCF(云函数)/ CBR(云托管)/ STATIC_STORE(静态托管)/ WEB_SCF(Web 云函数)

describeHttpServiceRoute

1. 接口描述

接口功能:查询环境下的域名与访问路由列表,支持多维度过滤

接口声明:app.env.describeHttpServiceRoute(params): Promise<DescribeHttpServiceRouteRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

字段必填类型说明
EnvIdString环境 ID
FiltersHTTPServiceRouteFilter[]过滤条件,支持 DomainPathDomainTypeUpstreamResourceType
OffsetNumber分页偏移量,默认 0
LimitNumber分页大小,默认 20,最大 1000

3. 返回结果

字段类型说明
DomainsHTTPServiceDomain[]域名路由信息列表
OriginDomainStringHTTP 访问服务源站域名(用于自定义 CDN/WAF 回源)
TotalCountNumber域名总数
RequestIdString请求唯一标识

HTTPServiceDomain

字段类型说明
DomainString域名
DomainTypeString域名类型
AccessTypeString接入方式:DIRECT / CDN / CUSTOM
CertIdStringSSL 证书 ID
ProtocolString协议类型
CnameString需配置的 CNAME 目标值
IsDefaultBoolean是否是默认域名
EnableBoolean是否已开启
StatusString状态:PROCESSING / FAIL / SUCCESS
DNSStatusStringDNS 解析状态:OK / INVALID
RoutesHTTPServiceRoute[]该域名下的路由列表
CreateTimeString创建时间
UpdateTimeString更新时间

4. 示例代码

const CloudBase = require('@cloudbase/manager-node')
const app = new CloudBase({ secretId: 'Your SecretId', secretKey: 'Your SecretKey', envId: 'your-env-id' })

async function test() {
const { Domains, TotalCount } = await app.env.describeHttpServiceRoute({
EnvId: 'your-env-id',
Limit: 20
})
console.log(`${TotalCount} 个域名`)
Domains.forEach(d => console.log(d.Domain, d.Status, d.DNSStatus))
}

test()

bindCustomDomain

1. 接口描述

接口功能:绑定自定义域名到 HTTP 访问服务,支持配置 HTTPS 证书和接入方式

接口声明:app.env.bindCustomDomain(params): Promise<BindCustomDomainRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

字段必填类型说明
EnvIdString环境 ID
DomainBindCustomDomainDomainParam域名配置,见下方说明

BindCustomDomainDomainParam

字段必填类型说明
DomainString域名,全局唯一
CertIdStringSSL 证书 ID(腾讯云 SSL 平台)
AccessTypeString接入方式:DIRECT(默认)/ CDN / CUSTOM
ProtocolString协议策略:默认 HTTP_AND_HTTPS
EnableBoolean是否立即开启,默认 true
CustomCnameString自定义 CDN/WAF 的回源 CNAME(AccessType=CUSTOM 时填写)

3. 返回结果

字段类型说明
RequestIdString请求唯一标识

4. 示例代码

async function test() {
await app.env.bindCustomDomain({
EnvId: 'your-env-id',
Domain: {
Domain: 'api.example.com',
CertId: 'your-cert-id',
AccessType: 'DIRECT',
Protocol: 'HTTP_TO_HTTPS'
}
})
console.log('域名绑定成功,请前往 DNS 服务商配置 CNAME 解析')
}

test()

deleteCustomDomain

1. 接口描述

接口功能:删除自定义域名。域名下存在路由绑定时会抛出错误,需先删除路由

接口声明:app.env.deleteCustomDomain(params): Promise<DeleteCustomDomainRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

字段必填类型说明
EnvIdString环境 ID
DomainString要删除的域名

3. 返回结果

字段类型说明
RequestIdString请求唯一标识

createHttpServiceRoute

1. 接口描述

接口功能:在指定域名下创建访问路由,将路径映射到云函数、云托管或静态托管等上游服务

接口声明:app.env.createHttpServiceRoute(params): Promise<CreateHttpServiceRouteRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

字段必填类型说明
EnvIdString环境 ID
DomainHTTPServiceDomainParam域名及路由配置,见下方说明

HTTPServiceDomainParam

字段必填类型说明
DomainString域名(已绑定的域名)
RoutesHTTPServiceRouteParam[]路由列表,最多 20 条
AccessTypeString接入方式
CertIdStringSSL 证书 ID
ProtocolString协议策略
EnableBoolean域名开启状态

HTTPServiceRouteParam(单条路由)

字段必填类型说明
PathString路由路径,如 /api
UpstreamResourceTypeString上游类型:SCF / CBR / STATIC_STORE / WEB_SCF / LH
UpstreamResourceNameString上游服务名称(云函数名/云托管服务名等)
PathRewriteHTTPServicePathRewrite路径重写配置
EnableSafeDomainBoolean是否启用安全域名,默认 true
EnableAuthBoolean是否启用身份认证,默认 false
EnablePathTransmissionBoolean是否路径透传,默认 false
QPSPolicyHTTPServiceRouteQPSPolicyQPS 限频策略
EnableBoolean是否开启路由,默认 true

3. 返回结果

字段类型说明
RequestIdString请求唯一标识

4. 示例代码

async function test() {
// 在已绑定的域名下创建路由:将 /api 映射到云函数 my-function
await app.env.createHttpServiceRoute({
EnvId: 'your-env-id',
Domain: {
Domain: 'api.example.com',
Routes: [
{
Path: '/api',
UpstreamResourceType: 'SCF',
UpstreamResourceName: 'my-function',
EnableAuth: false,
Enable: true
}
]
}
})
console.log('路由创建成功')
}

test()

modifyHttpServiceRoute

1. 接口描述

接口功能:修改指定域名下的访问路由配置

接口声明:app.env.modifyHttpServiceRoute(params): Promise<ModifyHttpServiceRouteRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

createHttpServiceRoute 相同,参见上方说明。

3. 返回结果

字段类型说明
RequestIdString请求唯一标识

deleteHttpServiceRoute

1. 接口描述

接口功能:删除指定域名下的访问路由。不传 Paths 时删除该域名下的全部路由

接口声明:app.env.deleteHttpServiceRoute(params): Promise<DeleteHttpServiceRouteRes>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数

字段必填类型说明
EnvIdString环境 ID
DomainString域名
PathsString[]要删除的路由路径列表;不传则删除该域名下全部路由

3. 返回结果

字段类型说明
RequestIdString请求唯一标识

4. 示例代码

async function test() {
// 删除 /api 路由
await app.env.deleteHttpServiceRoute({
EnvId: 'your-env-id',
Domain: 'api.example.com',
Paths: ['/api']
})

// 删除域名下全部路由
await app.env.deleteHttpServiceRoute({
EnvId: 'your-env-id',
Domain: 'api.example.com'
})
}

test()