You need to enable JavaScript to run this app.
导航
域名管理
最近更新时间:2024.08.12 15:33:25首次发布时间: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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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.1.1.1"],
        // 是否允许空 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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      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({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const res = await imagexService.GetResponseHeaderValidateKeys();
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}