函数计算搭建 Serverless Web 应用(二)- 自定义域名-阿里云开发者社区

开发者社区> cici是夏莞> 正文

函数计算搭建 Serverless Web 应用(二)- 自定义域名

简介: 绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,为使用函数计算搭建 Web 应用提供便利。
+关注继续查看

简介

阿里云 函数计算(Function Compute) 是事件驱动的全托管计算服务,是阿里云的 Serverless 计算平台。基于函数计算构建应用,您无需管理服务器等基础设施,而是专注于应用逻辑的开发,大幅提高开发效率。

文章 函数计算搭建 Serverless Web 应用(一)- HTTP 触发器 中阐述了 Web 应用(Serverless web backend) 是函数计算很重要的一个使用场景。相比于传统的在服务器上搭建 web 应用,函数计算无需您管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,以 弹性可靠 的方式运行您的代码,实现毫秒级别弹性伸缩,轻松应对峰值压力。

HTTP 触发器为用户提供一个形如 <account_id>.<region>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries] 的默认的 endpoint,但是用户希望可以通过自定义域名对外提供服务,原有的 Web 应用可以通过自定义域名进行访问,迁移到函数计算后,只能通过默认 endpoint 访问,实在强人所难。

因此函数计算在 HTTP 触发器后推出自定义域名的功能。

自定义域名

绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,为使用函数计算搭建 Web 应用提供便利。

您可以在函数计算上绑定自定义域名,并设置不同路径到不同服务的不同函数,然后就可以通过自定义域名访问不同的函数了,您的 HTTP Request 会原封不动地传递给函数,FC 不会对您的 HTTP Request 进行任何处理。

例如,您拥有一个域名为 api.app.com 的网站,从成本和弹性扩容角度考虑,您希望将 Web 服务迁移至函数计算,并且不影响外部服务,也就是对外提供服务的链接不变,那么您可以为您的应用绑定自定义域名。

ATA_CNAME.png

流程对比:

流程 自定义域名绑定前 自定义域名绑定后
部署阶段 1.编写应用代码并部署到用户服务器
2.为域名备案
3.设置 DNS 解析到用户服务器 IP
4.利用 web 框架设置路径和服务的对应关系
1.在函数计算为应用编写函数并设置 HTTP 触发器
2.域名在阿里云备案或接入阿里云备案
3.DNS 解析到 FC 地址:<accountID>.<region>.fc.aliyuncs.com
4. 在 FC 绑定域名,并设置路径与函数的对应关系
访问阶段 1.访问 api.app.com/login
2.DNS 解析到用户服务器 IP
3.api.app.com/login 访问用户服务器的服务
1.访问 api.app.com/login
2.DNS 解析到 FC 地址
3.api.app.com/login 访问部署在 FC 的函数

使用流程

  • 创建 HTTP 触发器并且编写函数 ;

  • 绑定自定义域名

    • 步骤一: 域名需要在阿里云备案或接入阿里云备案;

    • 步骤二:域名需要解析到您的 endpoint 上,即需要设置域名的 CNAME 到您对应区域的 endpoint,先设置 CNAME 再到函数计算进行绑定;

      • 域名解析请参考文章 设置域名解析
      • 例如:您的域名为 app.com,您的 accountID 为 12345,区域为上海,需要设置 app.com 的 CNAME 为 12345.cn-shanghai.fc.aliyuncs.com
    • 步骤三:在函数计算绑定自定义域名,并设置不同的路径到不同函数。

      • 同一域名绑定的函数必须在同一区域,可以属于不同服务
      • 例如,您可以设置路径 “/a” 的请求到 service1function1 执行,设置路径 “/b” 的请求到 service2function2 执行;
      • 只有设置了 HTTP 触发器 的函数才可以通过自定义域名的请求触发执行。

路由匹配规则

您需要在自定义域名处设置路径和函数的对应关系,即请求的路径不同可以触发不同函数执行。函数计算支持精确匹配和模糊匹配,具体规则如下:

  • 支持精确匹配和模糊匹配。

    • 精确匹配是设置的路径和到来的请求完全一致才可以匹配,例如 /a 触发服务 s1 下的 f1(以下统一简写成 s1/f1),那么路径为 /a/ 的请求无法触发 f1 的执行。
    • 支持通配符 *,且只能放到路径的最后,比如 /login/* 表示路径前缀为 /login/ 的请求,/login/* 对应 s2/f2,那么 /login/a/login/b/c/d 都会触发 f2 的执行。
  • 匹配顺序为:精确匹配 -> 模糊匹配
  • 匹配优先级为:最长前缀匹配

示例:
域名为 api.app.com,设置的路由匹配规则如下:

Path ServiceName FunctionName
/ s1 f1
/* s2 f2
/login s3 f3
/login/a s4 f4
/login/* s5 f5

最终的匹配结果:

RequestURI MatchedServiceName MatchedFunctionName MatchedPath
api.app.com s1 f1 /
api.app.com/user s2 f2 /*
api.app.com/login s3 f3 /login
api.app.com/login/a s4 f4 /login/a
api.app.com/login/a/b s5 f5 /login/*
api.app.com/login/b s5 f5 /login/*

总结

绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,可以快速搭建性能稳定弹性可扩容的 Web 应用,可以说是十分方便了。

您在使用过程中遇到任何问题都可以随时 联系我们,函数计算团队所有工程师都会在群里实时进行答疑,没错,所有工程师,任何问题,随时联系。

期待您的使用~~

参考文档

绑定自定义域名
绑定自定义域名示例
联系我们

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless
日前,阿里云凭借函数计算产品能力全球第一的优势,入选 Forrester 2021 年第一季度 FaaS 平台评估报告,成为比肩亚马逊、全球前三的 FaaS 领导者。这也是首次有国内科技公司进入 FaaS 领导者象限。不瞋作为阿里云 Serverless 产品体系的负责人,也是国内 Serverless 的早期实践者。本文将呈现这次访谈的完整总结。
761 0
基于函数计算快速搭建Hexo博客(体验有礼)
Serverless 降本增效免运维的特性为开发者带来了实打实的好处,11 月 9 日至 11 月 23 日期间,阿里云函数计算上线了“Hexo 博客部署体验活动”,完成部署即可获得“TOMY 多美卡合金车模一辆”。
52 0
轻松搭建基于 Serverless 的 ThinkPHP 应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。
2559 0
轻松搭建基于 Serverless 的 ThinkPHP 应用
本文演示了如何从零开始搭建一个 Serverless 的 ThinkPHP 的博客应用。如果不想接触 Nginx、Linux 等复杂感念,而且想要以极低的成本托管自己的应用,本文会是一个很好的开始。
952 0
开发者云《Serverless函数计算初体验》火热上线。体验函数计算场景领取定制版马克杯
火遍全网的体验挑战第二弹抢鲜首发,体验函数计算相关场景并通过答题挑战即可获得印有阿里云第一行代码的定制版马克杯 活动地址:https://developer.aliyun.com/adc/series/fc/
26230 0
axios基础(一):json-server服务搭建
axios基础(一):json-server服务搭建
22 0
急速搭建 Serverless AI 应用:为你写诗
AI model serving 是函数计算一个比较典型的应用场景。数据科学家训练好模型以后往往需要找软件工程师把模型变成系统或者服务,通常把这个过程称之为 model serving。函数计算无需运维和弹性伸缩的特性,正好符合数据科学家对高可用分布式系统的诉求。本文将介绍把一个 TensorFlow CharRNN 训练的自动写五言绝句古诗的模型部署到函数计算的例子。
1269 0
+关注
cici是夏莞
函数计算开发工程师
16
文章
3
问答
来源圈子
更多
专注Serverless、微服务、函数计算等
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载