搞懂自定义域名

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 上次写了一篇给 Gihub Pages 添加自定义域名的文章,之后感觉写得还是偏实践多一点,只做到了受人以鱼。为了让大家在别的场景下也能搞定自定义域名,比如腾讯云网页部署、Heroku 自定义域名、自定义 CDN 域名。,今天就来写篇更通用的文章来总结一下自定义域名那些事。

image.png


前言


上次写了一篇给 Gihub Pages 添加自定义域名的文章,之后感觉写得还是偏实践多一点,只做到了受人以鱼。

为了让大家在别的场景下也能搞定自定义域名,比如腾讯云网页部署、Heroku 自定义域名、自定义 CDN 域名。,今天就来写篇更通用的文章来总结一下自定义域名那些事。


由来


如果我们要访问一台电脑上的资源,一般是需要通过 IP 地址来进行访问的。比如电脑上跑了一个 React App,那么在电脑的 http://127.0.0.1:3000 就可以访问本机的页面

image.png


假如电脑 IP 地址为 192.168.1.10,而且手机和电脑都连上同一个 Wifi,那么在手机上输入 http://192.168.1.10:3000 也可以访问到这个网页。

image.png


当我们访问服务器上的文件(html, js, css 等),其实本质上也是访问远端的一台电脑,也需要通过 IP 地址来访问。这就导致一个问题了:没人能记得住这串数字。

既然记不住就起个名字喽。 这就是域名的由来,也就是像下面这样 Map。

名字 -> IP 地址
复制代码


DNS 服务器


但是等我们给这个 IP 起了新名字之后怎么告诉别人呢?所以,得有一个超大日记本记录上面这些 Map 关系:

taobao.com -> xxx
baidu.com -> yyy
...
复制代码


DNS (Domain Name System) 服务器就是帮我们记录并解析上面这些关系。这也就是为什么面试题 “输入 URL 之后会发生什么” 里会有一步是要到 DNS 服务器解析 IP 地址,好让我们访问到正确的服务器资源。


域名解析


当然,DNS 解析服务并不单单只有 域名 -> IP 地址 一个功能,还能解析邮件服务器、CNAME 配置等。下面我就直接结合 腾讯云DNS Pod 的解析规则来说明吧。


A 记录

首先,上面一直在说的 域名 -> IP 地址 这样的 Map 记录叫做 A 记录,也即 Active Record。 是最最最常见的域名解析。


比如我们买了个服务器,一般都会有公网的 IP 地址,我们只需要添加一条 A 记录,把域名指向自己服务器的 IP 地址就好了。


另一个常见的例子就是 Github Pages 自定义域名 其中 的一种配置:添加 4 条 A 记录,分别指向下面的 IP 地址:

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
复制代码


CNAME

CNAME 就是域名的昵称,可能理解为 IP 的昵称(域名)的昵称(CNAME)就是 CNAME。其实我们平常更多接触到的并不是 A 记录,而是 CNAME 记录,常见于一些部署平台上。


当部署你的个人网页时,这些部署网站都会自动给你一个非常 Low 的域名,比如 Github Pages 的 haixiangyan.github.io,或者 Heroku 的 haixiangyan.heroku.app,再或者腾讯云的 “乱码” 域名 thedemo-9gf4vat5207cf224-1253834571.ap-shanghai.app.tcloudbase.com


只要我们有了自己的域名,在 DNS 上添加一条 CNAME 记录,指向上面这些第三方服务商自动自成的域名,那么就能通过我们的域名直接访问第三方服务平台上的资源了。

image.png


另外一个常见的场景就是 CDN 服务器,如果在腾讯云上买了一个 CDN 服务器,它也会提供一个 “不那么乱码” 域名,比如我的个人网站就是www.yanhaixiang.cn.cdn.dnsv1.com。同理,在 DNS 添加一条 CNAME 记录指向 CDN 提供的域名就能访问 CDN 上的资源了。

image.png


TXT

这个 TXT 记录,目前我使用到的场景是域名验证操作:当腾讯云要验证这个域名是否是合法/激活的,那么需要你在 DNS Pod 上添加一条 TXT 记录,记录值腾讯云会提供给你。

image.png

添加了之后,腾讯云就会查看这条 TXT 记录值是否正确,从而验证域名是否合法。


AAAA

上面的 A 记录填写都是针对 IPv4 的 IP 地址,也是最最最常见的 IP 地址。计算机发展到现在,有些已经用上了 IPv6 了,所以 AAAA 记录就是用来解析成对应的 IPv6 地址的,不过目前用的很少。


NS

NS 也就是 Name Server。还记得上面说到的 DNS 么?NS 可以理解为 DNS 服务器。

一般域名服务商都会有自己的 NS,并且都默认使用自己的 NS 来解析域名。如果你不想用当前这个域名服务商的 NS 来解析域名,也可以换成别家的。

除非有特别需求,NS 记录使用场景非常少。


MX

设置邮箱的记录。没怎么用过,不评价。


其它记录

我们一般接触到的就是上面这些记录,腾讯云还提供了别的记录类型:


image.png

注意,上面像 “显性 URL”、“隐性 URL” 可能在别的域名服务器是没有的,比如 namesilo.com 这个便宜货。


讲真,国内的云服务真的做的比国外好太多了,很多功能都很实用,强烈推荐大家使用国内的云。


子级域名


了解了 DNS 解析记录还不够,还得了解域名的分级。

比如 www.baidu.com,顶级为 com,二级为 baidu,三级为 www。当在我们购买域名时,买的就是 顶级 + 二级域名,直接把顶级和二级域名锁死了。

image.png


当添加域名解析记录时,可以在 主机记录 这个字段里指定第三级的域名:

image.png


图里由上到下配置得到的域名完全体为:

主机记录 域名完全体示例
www www.yanhaixiang.com
@ yanhaixiang.com
* abc.yanhaixiang.com, fuck.yanhaixiang.com
mail mail.yanhaixiang.com

后面两个只是腾讯云给你的示例而已,就不举例了。


子级的好处就在于可以不用上线一个网站就买一个对应域名,太费钱了~ 比如我之前买了 yanhaixiang.cn 这个域名,当要用这一个域名分别指向 国内腾讯云上的个人网站,以及 Github 提供的 Github Pages,在添加两条记录之后:

image.png

image.png


就可以在 https://yanhaixiang.cn 访问国内的 腾讯云个人网站,在 https://github.yanhaixiang.cn 则访问 Github Pages 的个人网站,非常悠亚。


域名购买


国内:腾讯云、阿里云、华为云等都不错。国外:NameSilo、GoDaddy、AWS等。

个人推荐在国内买,原因是国内的云服务商功能非常齐全,而且服务之间关联度非常高,可以说有了国内域名走遍天下都不怕,没有国内域名啥都捉襟见肘。


域名起名


除了 .com.cn 常见的顶级域名外,还有 .xyz.top 这些便宜的顶级域名可以选择。


顶级域名中有一些是比较敏感的,比如 .law,这种就只能由专业机构来注册:

image.png


如果实在想要 .com 这种牛逼的顶级域名,可以试着买带 - 的二级域名,比如我之前就买了一个 easy-refer.com 的域名,19 刀/年。


二级域名允许有 - 的原因是为了解决名字的混淆问题,比如你的公司叫 Who Represents,然后你注册了一个 whorepresents.com 的网站,由于域名是不区分大小写的,很容易被误解为 Whore Presents ,变成了 妓女的礼物。除了这个,还有 Experts Exchangeexpertsexchange.com 被理解成 Expert Sex Change,当场社死。


加了一个 - 连字符可以更好地 “分词”,不被别人误解网站内容。

二级域名除了英文还能选择中文的,比如《爱情公寓》里的 www.张伟是混蛋.com

image.png


不开玩笑,这个网站也是能正常访问的,里面的内容都是和《爱情公寓》有关的内容。最旧的贴子是 2011 年,这个网站大概也是那个时候上线的吧,不知不觉已经过了 10 年了呢~

image.png

由于域名的 “唯一性”,在当年,注册了一个好的域名比建一个好看的网站更值钱,比如 apple.com, baidu.com 等。这也导致出现了一些投机分子:一出手就买一堆域名,然后等公司上门收购域名。


备案


只有国内的服务商需要做域名备案,也算是中国特色。最近我备案了 3 个域名,每个域名备案大概需要 1 个月的时间来备案。备案也不仅仅填几个表格就完事了,还是挺多地方要注意的。


先决条件

按照国内相关法律,域名备案前 必需要有一台租期大于 3 个月的服务器。 而国内一些云厂商为了能绑定销售,一般都要你买自家的服务器。


当然,只要有一台上面的服务器,在期间内可以给多个域名进行备案。

还有一点域名之间不能同时备案,一时间只能备案一个。所以如果你有多个域名要备案,要挑最紧急的那个来备案哦~


备案中

给你的网站起名是非常困难的一件事,我经常被打回,如果你做的是个人网站推荐使用 “个人项目展示” 这个名字,“个人网站” 是黑名单中的名字。

紧急联系人电话最好别瞎填,有的时候备案那边的人会抽查这个电话,如果这个紧急联系人电话打不通,接不了,那么你还得更换,更换本质上是又要有一遍备案流程,所以最好一开始就弄好这个,别问我是怎么知道的。


现在备案需要签署一份类似“合同”之类的文件,需要用到红色印泥,这个在打印室就有(当时我差点在网上买了一个)。

不过,就算备案有问题,工作人员几乎 1 天就打电话过来让你改正的,所以不用太慌~


总结


最后,稍微总结一下:


  • 域名服务器 IP 的别名,方便大家记住服务器 IP 地址而生的
  • 域名和 IP 地址的关系需要 DNS 服务器来解析。解析规则里 A 记录和 CNAME 记录用的最多
  • 一个域名可以通过指定第三级域名来实现一个域名 host 多个网站
  • 购买域名最好买国内的,一体性更强



相关文章
|
4月前
|
缓存 Serverless API
函数计算产品使用问题之不同环境下如何绑定自定义域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
运维 网络协议 Serverless
函数计算产品使用问题之如何绑定自定义域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
域名解析 缓存 运维
函数计算产品使用问题之添加自定义域名提示成功但实际不成功,是什么造成的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
域名解析 缓存 负载均衡
在Linux中,自定义解析域名的时候,可以编辑哪个⽂件?是否可以⼀个ip对应多个域名?是否⼀个域名对应多个ip?
在Linux中,自定义解析域名的时候,可以编辑哪个⽂件?是否可以⼀个ip对应多个域名?是否⼀个域名对应多个ip?
|
4月前
|
存储 运维 Serverless
函数计算产品使用问题之如何使用自定义域名访问函数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
域名解析 Serverless API
函数计算产品使用问题之如何配置自定义域名访问OSS中的内容
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
监控 Serverless 数据处理
函数计算产品使用问题之如何解决配置模型管理的自定义域名后无法访问
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
运维 监控 Serverless
Serverless 应用引擎产品使用合集之函数没有绑定自定义域名,如何在公网访问该函数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5月前
|
消息中间件 Serverless Go
Serverless 应用引擎操作报错合集之通过自定义域名配置jwt认证,始终报错:"Code": "JWTTokenIsInvalid",是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
110 2
|
5月前
|
运维 网络协议 JavaScript
Serverless 应用引擎产品使用合集之绑定自定义域名是否要确定解析设置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。