全部产品
云市场

自定义域名解析

更新时间:2019-06-10 10:42:12

结合函数计算实现自定义域名解析功能, 正在邀测。如需试用,请提交工单到HTTPDNS产品组。

1 HTTPDNS自定义域名解析快速开始

1.1 HTTPDNS自定义域名解析原理

HTTPDNS自定义域名解析原理图如下:
image.png

当开发者已经开通并正确使用HTTPDNS(如尚未开通使用HTTPDNS非自定义解析功能,参见HTTPDNS快速入门),请按如下步骤使用自定义域名解析功能。
image.png

1.2 开发自定义域名解析功能函数

Step 1:开通函数计算服务
Step 2:开发自定义域名解析功能函数
Step 3:发布您的服务及函数,生成版本或别名
详情请参考编写自定义解析函数

特别提示:

  • 所有自定义域名解析功能请在函数计算控制台进行开发,调试
  • 为确保HTTPDNS自定义域名解析功能安全运行,HTTPDNS自定义域名解析不支持选取默认的Latest版本选项,请显式指定正式发布函数计算的服务和函数版本

1.3 获取函数计算RAM角色授权

HTTPDNS调用函数计算自定义解析功能时,需要获取对应的RAM角色授权,客户将在首次添加自定义解析域名时完成获取授权。

1.4 HTTPDNS控制台添加自定义解析域名

每个自定义解析域名只能配置一个函数计算服务,而一个函数计算服务可以服务多个自定义解析域名
首次添加自定义解析域名,需要获取函数计算服务RAM角色访问权限

1.5 开启自定义域名解析功能

添加配置完成自定义解析域名后,默认自定义域名解析功能处于关闭状态,请在对应自定义调度域名列表中显式开启自定义域名解析功能

2 配置样例

2.1 配置函数计算服务和函数

  • 第一步 到阿里云函数计算产品详情页面开通函数计算服务
  • 第二步 选择“华东2(上海)”区域
    image.png
  • 第三步 配置服务
    image.png
  • 第四步 配置函数
    image.png
    image.png
    image.png
    输入函数名称, 选择在线编辑模式,并输入函数代码(可以参考自定义域名解析函数Demo,并去掉demo中的注释), 其他部分保持默认配置。
    image.png
    权限配置保持默认值
    核对信息并创建函数
    进入函数执行管理页面,配置“触发事件”(触发事件请参考自定义解析函数入参样例编写)
    image.png
    执行函数,确认函数能正确执行
    image.png
    发布服务版本
    image.png
    image.png
    系统将生成单增的服务版本号,由于HTTPDNS自定义域名解析不支持函数计算Latest版本,请记住生成的服务版本号
    image.png
    至此,函数计算控制台的样例配置部分已经完成

    2.2 自定义解析域名配置


  • 添加自定义解析域名
    首次添加自定义解析域名时,需要获取函数计算角色授权
    image.png
    image.png
    完成手机验证码验证后,完成函数计算角色授权
    image.png
    依次选择域名、服务、服务版本、函数后,点击测试,确认执行无误后点击保存,将在自定义解析域名列表中出现已成功添加的域名
    image.png
  • 启停自定义解析
    当函数计算状态正常时,可以启停自定义解析功能(启停自定义解析将启用手机验证码验证确保线上安全)
    image.png
  • 查看配置
    image.png
  • 修改配置
    针对选中的域名,可以修改服务,服务版本,函数,测试无误后点击保存生效;当该域名的自定义解析处于开启状态时,将启用手机验证码验证确保线上安全
    image.png
  • 删除配置
    删除域名的自定义解析配置时将启用手机验证码验证确保线上安全
    image.png

    2.3 测试自定义解析域名功能


    输入测试URL(请将accountid和域名替换成您控制台中对应的值)
    http://203.107.1.33/100000/d?host=www.aliyun.com
    预期返回类似下面的结果
    1. {
    2. host: "www.aliyun.com",
    3. ips: [
    4. "1.2.3.4",
    5. "1.2.3.5"
    6. ],
    7. ttl: 596,
    8. origin_ttl: 600,
    9. extra: "some-thing-send-to-user"
    10. }