文档首页/ 云解析服务 DNS/ API参考/ 应用示例/ 示例1:创建公网域名解析
更新时间:2024-07-09 GMT+08:00
分享

示例1:创建公网域名解析

场景描述

当您想在Internet上通过域名访问您的网站时,可以通过华为云的云解析服务为域名添加解析记录。

下面介绍如何通过调用创建单个公网Zone创建单个Record Set接口创建公网域名和添加记录集。API的调用方法请参见如何调用API

通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。

前提条件

  • 已经通过第三方域名注册商完成域名“example.com”的注册。
  • 如果域名“example.com”在中国大陆地区注册,需要完成域名实名认证审核。
  • 已经完成网站服务器的搭建,并获取网站的IP地址。
  • 如果网站服务器在中国大陆地区部署,需要完成网站域名和IP地址的备案。
    • 若在华为云搭建网站服务器,则通过华为云的备案中心进行备案,详细内容请参见什么是备案
    • 若在其他云服务商处搭建网站服务器,则通过对应的云服务商进行备案。

涉及API

当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。

  • IAM获取token的API
  • DNS创建公网Zone的API
  • DNS创建Record Set的API

具体步骤

  1. Token认证,具体操作请参考认证鉴权
  2. 在Request Header中增加“Content-Type”和“X-Auth-Token”。
  3. 在Request Body中传入参数如下:
    {
        "name": "example.com.",  //域名(必选String)
        "description": "This is an example zone.",  //域名的描述信息(可选String)
        "zone_type": "public",  //域名类型(可选String)
        "email": "xx@example.org",  //管理该域名的管理员邮箱(可选String)
        "ttl": 300,   //默认生成的SOA记录中有效缓存时间(可选String)
    }
  4. 发送“POST https://DNS的Endpoint/v2/zones”。
  5. 请求消息发送后,收到响应消息。
    • 响应消息包括成功和失败两类情况,本文以响应成功为例进行介绍。
    • 若请求消息响应失败则会返回错误码及对应的错误信息说明,详细错误码信息请参见错误码
    • 响应消息的要素说明请参见创建单个公网Zone
    • 响应消息的返回值请参见状态码

    请求成功的响应消息举例如下:

    STATUS CODE 202
    {
        "id": "2c9eb155587194ec01587224c9f90149",
        "name": "example.com.",
        "description": "This is an example zone.",
        "email": "xx@example.com",
        "ttl": 300,
        "serial": 1,
        "masters": [],
        "status": "PENDING_CREATE",
        "links": {
            "self": "https://Endpoint/v2/zones/2c9eb155587194ec01587224c9f90149"
        },
        "pool_id": "00000000570e54ee01570e9939b20019",
        "project_id": "e55c6f3dc4e34c9f86353b664ae0e70c",
        "zone_type": "public",
        "created_at": "2016-11-17T11:56:03.439",
        "updated_at": null,
        "record_num": 0
    }
    
  6. 在Request Header中增加“Content-Type”和“X-Auth-Token”。
  7. 在Request Body中传入参数如下:
    {
        "name": "example.com.", //域名(必选String)
        "description": "This is an example record set.", //记录集的描述信息(可选String)
        "type": "A", //记录集类型(必选String)
        "ttl": 3600, //记录集有效缓存时间(可选Integer)
        "records": [ 
            "192.168.10.1", 
            "192.168.10.2"
        ] //记录集的值(必选List<String>)
    }
  8. 发送“POST https://DNS的Endpoint/v2/zones/{zone_id}/recordsets”,其中,zone_id为待添加记录集的域名ID。
  9. 请求消息发送后,收到响应消息。
    STATUS CODE 202
    {
        "id": "2c9eb155587228570158722b6ac30007",
        "name": "example.com.",
        "description": "This is an example record set.",
        "type": "A",
        "ttl": 300,
        "records": [
            "192.168.10.1",
            "192.168.10.2"
        ],
        "status": "PENDING_CREATE",
        "links": {
            "self": "https://Endpoint/v2/zones/2c9eb155587194ec01587224c9f90149/recordsets/2c9eb155587228570158722b6ac30007"
        },
        "zone_id": "ff8080825b8fc86c015b94bc6f8712c3",
        "zone_name": "example.com.",
        "create_at": "2017-04-22T08:17:08.997",
        "update_at": null,
        "default": false,
        "project_id": "e55c6f3dc4e34c9f86353b664ae0e70c"
    }

相关文档