You need to enable JavaScript to run this app.
导航
域名管理
最近更新时间:2024.06.03 19:02:00首次发布时间:2024.06.03 19:02:00

阅读本文,您可以获取 Node SDK 域名管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍域名管理相关接口的功能和调用示例。

删除域名

您可以调用 DelDomain 接口删除域名。详细的参数说明可参见 DelDomain 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function DelDomainDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 待删除域名的服务 ID。
      // <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "sedf**sdf",
      // 待删除的域名,您可以通过 [获取服务下全部域名](https://www.volcengine.com/docs/508/9379) 获取服务下域名信息。
      "Domain": "test.imagex.com",
    }

      const res = await imagexService.DelDomain(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

更新响应头配置

您可以调用 UpdateResponseHeader 接口更新响应头配置。详细的参数说明可参见 UpdateResponseHeader 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function UpdateResponseHeaderDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "uh****7d",
      // 域名,您可以通过[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)获取服务下域名信息。
      "domain": "a.imagex.cn",
      // Resp Headers 配置
      "resp_hdrs" : [ 
          {
            // Header Key,请见[支持配置的响应头](https://www.volcengine.com/docs/508/196704#%E6%94%AF%E6%8C%81%E9%85%8D%E7%BD%AE%E7%9A%84%E5%93%8D%E5%BA%94%E5%A4%B4)。
            "key": "Access-Control-Allow-Origin",
            // Header Value,设置该响应头字段的值。字段值不能超过 1,024 个字符,可以包含除`美元符号($),Delete(ASCII code 127)`外的可打印 ASCII 字符。
            "value": "*",
            // 在 veImageX 响应用户请求时,是否校验请求头中的 Origin 字段。仅对响应头部`Access-Control-Allow-Origin`有效,取值如下所示:
            // <li> `true`:开启校验,veImageX 会校验 Origin 字段。 </li>
            // <li> 如果校验成功,响应头中会包含 Access-Control-Allow-Origin 字段。字段值与 Origin 字段值相同。 </li>
            // <li> 如果校验失败,响应头中不会包含 Access-Control-Allow-Origin 字段。 </li>
            // <li> `false`:关闭校验,veImageX 不会校验 Origin 字段。响应头中将始终包含 Access-Control-Allow-Origin 头部和您配置的值。 </li>
            "access_origin_control": true,
          } 
      ], 
    }

      const res = await imagexService.UpdateResponseHeader(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

更新默认域名配置

您可以调用 SetDefaultDomain 接口更新默认域名配置。详细的参数说明可参见 SetDefaultDomain 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function SetDefaultDomainDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 指定新的默认域名,您可以通过[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)获取服务下域名信息。
      "Domain": "test.com.cn",
    }

      const res = await imagexService.SetDefaultDomain(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

更新 Referer 防盗链配置

您可以调用 UpdateRefer 接口更新 Referer 防盗链配置。详细的参数说明可参见 UpdateRefer 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function UpdateReferDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "9h**09",
      // Referer 配置
      "refer_link" : {
        // 是否开启 Referer 访问限制,取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enabled": true,
        // 是否选择白名单模式,取值如下所示:
        // <li> `true`:选择白名单 </li>
        // <li> `false`:选择黑名单 </li>
        "is_white_mode": true,
        // Referer 通用规则列表,根据是否为白名单,为对应的白/黑名单的值。您可以指定一个或者多个 IP 地址,域名和泛域名。支持填写二级域名,支持混合输入。
        // <li> IP 地址格式支持 IPv4 和 IPv6,最多可输入 100 个 IP 地址。 </li>
        // <li> 域名无需包含`http://` 或 `https://`。 </li>
        // note:
        // `values` 和 `regex_valses` 均存在时,两者同时生效。
        "values" : ["test.example.com","*.example.com","10.0.0.1"], 
        // Referer 的正则表达式的列表,仅支持填写 IPv4 和 IPv6 格式的 IP 地址,参数长度范围为(1,1024)。不支持域名、泛域名、CIDR 网段。
        "regex_values" : ["\192\.23\.1\.8\b"], 
        // 是否允许空 Referer 访问,取值如下所示:
        // <li> `true`:允许 </li>
        // <li> `false`:不允许 </li>
        "allow_empty_refer": false,
        // 是否启用正则表达列表,取值如下所示:
        // <li> `true`:启用 </li>
        // <li> `false`:不启用 </li>
        "regex_values_enabled": true,
      }, 
      // 域名,您可以通过[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)获取服务下域名信息。
      "domain": "http://test.com",
    }

      const res = await imagexService.UpdateRefer(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

更新 https 配置

您可以调用 UpdateHttps 接口更新 https 配置。详细的参数说明可参见 UpdateHttps 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function UpdateHttpsDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "uh****2h",
      // 域名,您可以通过[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)获取服务下域名信息。
      "domain": "test.volcimagextest.com",
      // https 配置
      "https" : {
        // 是否开启 http2,取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enable_http2": true,
        // 是否开启 https,取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enable_https": true,
        // 是否开启 ocsp 装订,取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enable_ocsp": true,
        // 是否开启 quic 协议支持,取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enable_quic": true,
        // 支持的 tls 版本,取值如下所示:
        // <li> `tlsv1.0` </li>
        // <li> `tlsv1.1` </li>
        // <li> `tlsv1.2` </li>
        // <li> `tlsv1.3 ` </li>
        "tls_versions" : ["tlsv1.0","tlsv1.1","tlsv1.2"], 
        // 需要关联的证书 ID,若`enable_https`为`true`,则为必填。
        "cert_id": "fa2f32dfe**e8c2105ef0d711f15",
        // 是否开启强制跳转,支持取值如下所示:
        // <li> `true`:开启 </li>
        // <li> `false`:关闭 </li>
        "enable_force_redirect": false,
        // 强制跳转类型,取值如下所示:
        // <li> `http2https`:HTTP 到 HTTPS </li>
        // <li> `https2http`:HTTPS 到 HTTP </li>
        // note:
        // 仅当`enable_force_redirect`取值为`true`时需要配置。
        "force_redirect_type": "https2http",
        // 强制跳转状态码,取值如下所示:
        // <li> `301`:返回给用户 301 状态码进行重定向。 </li>
        // <li> `302`:返回给用户 302 状态码进行重定向。 </li>
        // note:
        // 仅当`enable_force_redirect`取值为`true`时需要配置。
        "force_redirect_code": "301",
      }, 
    }

      const res = await imagexService.UpdateHttps(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

获取域名配置

您可以调用 GetDomainConfig 接口获取域名配置。详细的参数说明可参见 GetDomainConfig 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetDomainConfigDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 域名,您可以通过调用 [GetServiceDomains](https://www.volcengine.com/docs/508/9379) 获取当前服务下所有域名。
      "DomainName": "example.volcimagex.cn",
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "yl***yn",
    }

      const res = await imagexService.GetDomainConfig(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

获取服务下全部域名

您可以调用 GetServiceDomains 接口获取服务下全部域名。详细的参数说明可参见 GetServiceDomains 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetServiceDomainsDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "89**0j",
    }

      const res = await imagexService.GetServiceDomains(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

获取响应头允许的 Key 列表

您可以调用 GetResponseHeaderValidateKeys 接口获取响应头允许的 Key 列表。详细的参数说明可参见 GetResponseHeaderValidateKeys 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetResponseHeaderValidateKeysDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      
      const res = await imagexService.GetResponseHeaderValidateKeys();
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }