更新时间:2019-07-02 10:08
绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,为使用函数计算搭建 Web 服务提供便利。
您可以在函数计算上绑定自定义域名,并设置不同路径到不同服务的不同函数,然后就可以通过自定义域名访问不同的函数了。
例如,您拥有一个域名为 api.app.com 的网站,从成本和弹性扩容角度考虑,您希望将 Web 服务迁移至函数计算,并且不影响外部服务,也就是对外提供服务的链接不变,那么您可以为您的服务绑定自定义域名。
流程对比:
流程 | 自定义域名绑定前 | 自定义域名绑定后 |
---|---|---|
部署阶段 | 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 的函数 |
app.com
,您的 accountID 为 12345,区域为上海,需要设置 app.com
的 CNAME 为 12345.cn-shanghai.fc.aliyuncs.com
。“/a”
的请求到 service1
的 function1
执行,设置路径 “/b”
的请求到 service2
的 function2
执行;您需要在自定义域名处设置路径和函数的对应关系,即请求的路径不同可以触发不同函数执行。函数计算支持精确匹配和模糊匹配,具体规则如下:
/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/* |
如果需要使用 HTTPS 协议访问自定义域名,需要您将证书和私钥上传至 FC,私钥和证书需要遵循 PEM 格式,且大小不超过 4K。
函数计算支持为 Web 应用开启 阿里云 CDN 加速功能,为函数计算开启 CDN 加速服务,能够将部署在函数计算的应用作为源站,将源内容发布到边缘节点。阿里云 CDN 精准的调度系统将用户的请求分配至最适合的节点,使终端用户以最快的速度读取到所需的内容,有效降低访问时延,提高服务质量。
您只需要在控制台绑定自定义域名时设置加速域名即可,详情请参考 CDN 回源至函数计算
在控制台首页右侧点击进入 自定义域名管理,即可绑定自定义域名并设置路由。
上传证书
您在使用过程中遇到任何问题,请 联系我们。
在文档使用中是否遇到以下问题
更多建议
匿名提交