前言

  大家都知道访问一个网站需要一个网址,例如访问淘宝,就要访问 taobao.com ,访问我的博客,就要访问 blog.molipre.com ,这些一串字母和符号组成的网址,是域名为互联网上任何可用的网页服务器提供了方便人类理解的地址。
  在讲述域名的应用前,我们先来简单的解释一下域名。

域名是什么

概述

  连上互联网的任何一台设备,都能通过一个公共IP地址访问到或者最终访问到,而这样一个IP地址,对于IPv4地址来说,这个地址有32位,通常会写成四个范围在0~255以内,由点分隔的数字组成,例如119.75.217.109。
  而对于IPv6来说,这个地址有128位,通常会写成八组由冒号分隔的四个十六进制数组成,例如2408:80f0:410c:001d:0000:00ff:b07a:39af,那么这么长的一串地址,对于计算机来说是非常容易处理的,但是对一个人来说很难找出谁在操控这些服务器以及这些网站提供什么服务,特别是网站或者某些服务等的IP地址可能会随着时间的推移出现变化,为了解决这些问题,我们采用方便记忆的地址,而这些地址便被称作域名。

域名的结构

  一个域名是由几部分组成的简单结构(有可能是一部分、两部分、三部分等等),它们被点分隔,与现代中文的书写阅读顺序不一样的是,域名需要从右到左阅读。
域名1

  1. TLD(Top-Level Domain,顶级域名)
    TLD(顶级域)是互联网分层DNS(域名系统)中最通用的域。
    顶级域名可以告诉用户域名所提供的服务类型。最通用的顶级域名(.com, .org, .net)不需要web服务器满足严格的标准,但一些顶级域名则执行更严格的政策,比如:
    • 地区的顶级域名,如.us,.fr,或.sh,可以要求必须提供给定语言的服务器或者托管在指定国家。这些TLD通常表明对应的网页服务从属于何种语言或哪个地区。
    • 包含.gov的顶级域名只能被政府部门使用。
    • .edu只能为教育或研究机构使用。
    顶级域名既可以包含拉丁字母,也可以包含特殊字符。顶级域名最长可以达到63个字符,不过为了使用方便,大多数顶级域名都是两到三个字符,目前顶级域名的完整列表ICANN(Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址分配机构)维护的。
    同时IANA(Internet Assigned Numbers Authority,互联网分配号码管理局)区分了以下顶级域组:
    • 国家/地区代码顶级域(ccTLD)
      为国家或地区建立的两个字符域。示例:.us代表美国。
    • 国际化国家代码顶级域(IDN ccTLD)
      非拉丁字符集(例如阿拉伯语或中文)中的 ccTLD。
    • 通用顶级域(gTLD)
      具有三个或更多字符的顶级域。
    • 未赞助的顶级域
      直接根据 ICANN 为全球互联网社区制定的政策(例如”com”和”edu”)操作的域。
    • 赞助的顶级域(sTLD)
      这些域名由私人组织提议和赞助,这些组织根据社区主题概念决定申请人是否有资格使用 TLD。
    • 基础架构顶级域
      此组由一个域组成,地址和路由参数区域(ARPA)。
  2. label(标签或者说是组件)
    标签都是紧随着TLD的,由1到63个大小写不敏感的字符组成,这些字符包含字母 A - z ,数字 0 - 9 ,甚至 - 这个符号(当然,- 不应该出现在标签开头或者标签的结尾)。例如:m12,或者 wo-shi-shui-i-am-m-12 都是合法的标签。
  3. SLD(Secondary Level Domain,二级域名)
    刚好位于TLD前面的标签也被称为二级域名 (SLD),一个域名可以有多个标签(或者说是组件),没有强制规定必须要3个标签来构成域名。
    例如:www.wo.shi.shui.com 是一个正确的域名,当拥有了“上级”部分,例如 molipre.com,你还可以创建另外的域名(有时被称为子域名),例如:blog.molipre.com
    上面所述的 molipre.com 就是二级域名,而后面说的二级域名的子域名 blog.molipre.com 则是三级域名,以此类推。

如何获得域名

  如何获取域名?看到这个,大家首先先到的就是去域名注册商购买就好了,但是,任何一个人都不可能真正的购买一个域名,我们花钱在域名注册商出注册的域名,只是拥有了这个域名的使用权,例如我注册 molipre.com 这个域名,但是我只能获取这个域名在一年或者多年内的使用权,不过在域名使用权到期之前,可以通过花钱延长使用时间,同时我的续期权利优先于其他人的使用权申请,所以我是从来没有拥有过 molipre.com 这个域名的。
  那么上述的域名注册商又是什么呢?域名注册商(Domain Name Registrar)是一个商业实体或组织,它们由互联网名称与数字地址分配机构(ICANN)或者一个国家性的国家代码顶级域名(ccTLD)域名注册局委派,以在指定的域名注册数据库中管理互联网域名,向公众提供此类服务,也就是说域名注册商通过域名登记来记录连接你和你的域名的技术与管理信息。

注意!对于一些域名,它可能不归属于某个域名注册商来负责记录,例如:.fire 是由亚马逊管理。

讲了这么多,那么我们来说一下如何获得域名:

  1. 查询你想要的域名是否可用
    进入域名注册商的网站,例如腾讯云DNSPod、阿里云的万网西部数码等等,打开网站就能看到查域名,输入你先要注册的域名查询即可,如果你想要的域名已经被注册,你也可以通过 whois 服务查询谁是它目前的持有者,还有多久到期等一些信息,例如已经博主注册的域名:molipre.com ,查询发现已经被注册,则点击 whois 可以看到注册人、注册商、注册日期、到期日期等等一些信息。

    域名2
    域名3
    域名4
    域名5
    域名6

  2. 查询域名可用后,就可以开始注册步骤:
    腾讯云DNSPodyichuan.club 为例。首先通过腾讯云DNSPod查询到 yichuan.club 未被注册,然后:1、点击右边的加入购物车,2、点击右上的立即购买,进入提交订单的页面,3、选择时长,4、点击使用心得域名信息,选择个人用户填写信息,点击保存,5、上述步骤完成后点击提交订单,最后付款完成等待即可。

    注意,填写个人信息过程中注册商会要求你的真实住址,请保证你正确地填写了,因为在一些国家,如果你没有提供合法的地址,注册商会关闭你的域名。

    域名7
    域名8

  3. 注册商将会在域名正确注册后通知你,数小时之内,所有DNS服务器都会收到你的DNS信息,之后你就可以在域名管理的界面进行域名的应用了,例如腾讯云的域名管理界面

    域名9

域名解析

概述

  域名注册好了之后,只说明对域名拥有了使用权,你并不能通过该域名访问到网站,必须进行域名解析之后,域名才能发挥作用,经过解析的域名可以作为网址访问自己的网站,也可以作为电子邮箱的后缀,因此域名解析是使用域名的必备步骤。
  那么什么是域名解析呢?域名解析(DNS,domain name resolution)就是需要我们手动把域名地址和IP地址的对应关系写到DNS服务器上,这样别人访问域名地址的时候就可以在DNS查询到对应的IP地址。

域名解析记录详解

  到这一步就开始了域名的应用了,添加一条解析记录,涉及到主机记录、记录类型、线路类型、记录值、TTL等一些内容的设置,让我们一步步来说一下。

  1. 主机记录
    主机记录就是域名前缀,以博主注册的域名 molipre.com 为例,常见用法有:
    1、www ,解析后的域名为 www.molipre.com
    2、@ ,直接解析主域名 molipre.com
    3、* ,泛解析,匹配其他所有域名 *.molipre.com
    4、mail ,将域名解析为 mail.molipre.com ,通常用于解析邮箱服务器
    5、二级域名的子域名或者说三级域名,例如博客的地址 blog.molipre.com ,主机记录填写的就是 blog
  2. 记录类型
    记录类型简单点说就是域名的指向。,一般有以下的类型:
    1、A记录 ,用来指定域名的IPv4地址,如果需要将域名指向一个IP地址,就需要添加A记录
    2、CNAME记录 ,用于将域名指向另一个域名,再有另一个域名提供IP地址
    3、MX记录 ,需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录
    4、TXT记录 ,这个记录可以填写任何东西,长度限制为255,大部分是用来做SPF记录(反垃圾邮件)
    5、NS记录 ,域名服务器记录,如果需要把子域名交给其他DNS服务商即系,需要添加NS记录
    6、AAAA记录 ,用来指定主机名或者域名对应的IPv6地址记录
    7、SRV记录 ,记录了那台计算机提供了那个服务,格式为:服务的名字、点、协议的类型
    8、显性URL记录 ,从一个地址301重定向到另一个地址时,需要添加显性URL记录
    9、隐性URL记录 ,类似于显性URL记录,区别是隐性URL记录不会改变地址栏中的域名
  3. 线路类型
    关于线路类型一般默认就行了,但也有几种选择:
    1、默认 ,这个是必须添加的,不然只有单独指定的线路才能访问
    2、境内 ,中国大陆地区,单独为其指定服务器IP,其他用户则访问默认线路
    3、境外 ,中国大陆以外的其他地区(目前包含中国香港、中国澳门、中国台湾),单独为其指定服务器IP
    4、电信 ,单独为电信用户指定服务器IP,其他用户则访问默认线路
    5、联通 ,单独为联通用户指定服务器IP,其他用户则访问默认线路
    6、移动 ,单独为移动用户指定服务器IP,其他用户则访问默认线路
  4. 记录值
    记录值的内容是和记录类型息息相关的。
    1、如果记录类型为 A记录 ,填写IPv4地址,例如:8.8.8.8
    2、如果记录类型为 CNAME记录 ,填写填写域名,例如:molipre.github.io
    3、如果记录类型为 MX记录 ,填写邮件服务器的IP地址或企业邮局提供的域名
    4、如果记录类型为 TXT记录 ,填写内容要根据具体设置填写
    5、如果记录类型为 NS记录 ,填写dns域名,例如:f1g1ns1.dnspod.net
    6、如果记录类型为 AAAA记录 ,填写IPv6地址,例如:2408:80f0:410c:001d:0000:00ff:b07a:39af
    7、如果记录类型为 SRV记录 ,填写那台计算机提供了那个服务,例如:_xmpp-server._tcp
    8、如果记录类型为 显性URL记录 ,填写要跳转到的网址,例如:https ://www .baidu.com
    9、如果记录类型为 隐性URL记录 ,填写要引用内容的网址,例如:https ://www .baidu.com
  5. TTL
    TTL是缓存生存时间(Time To Live),默认最常用的600秒,指地方dns缓存域名记录信息的时间,一般有:
    1、600秒 ,这个是默认值,一般都是600秒
    1、1800秒 ,如果IP变动频繁,建议选择1800秒
    1、3600秒 ,如果IP极少变动(一年几次),建议选择3600秒,解析速度快。

为博客添加解析记录

以博客的地址 blog.molipre.com 为例,首先你要了解的是我的博客是部署在 Github 上的,所以Github本身在我部署完静态博客后会提供一个地址(也就是域名),具体如何部署,请查看从零开始的个人博客搭建(Win10篇)从零开始的个人博客搭建(MacOS篇)这两篇博文,里面有写到如何部署到Github和云服务器上,接下来会演示添加A记录和CNAME记录。

  1. 博客部署在Github上
    首先登陆Github,找到你部署博客的仓库(例如我的仓库是:Molipre.github.io),点击进去,然后:1、点击 Settings ,2、往下拉找到 GitHub Pages 设置中的 Custom domain 并填写你的域名,然后点击 save 保存,3、勾选强制使用HTTPS Enforce HTTPS,至此你在Github上的设置就完成了。
    接着打开域名解析管理页面(例如我的是DNSPod),点击DNS解析旁边的 + ,然后点击我的域名,看到已经注册好了的域名,点击域名进入解析页面,再点击 添加记录 ,接着按照你在Github的 Custom domain 处填写的域名填写,例如我的是 blog.molipre.com ,主机记录则填写 blog ,记录类型选择 CNAME ,线路类型默认 ,记录值填写 molipre.github.io ,TTL默认 600,最后点击确认,等待解析生效,便可通过 blog.molipre.com 这个地址访问到我部署在Github上的博客。

    域名10
    域名11
    域名12
    域名13

  2. 部署在云服务器上
    这个比较简单,首先获取云服务器的IP(一般在云服务器管理界面都能看到,不过你都部署到云服务器上了,还能不知道IP?),例如我的是 49.234.46.84 ,接着也是一样,打开域名解析管理页面(例如我的是DNSPod),点击DNS解析旁边的 + ,然后点击我的域名,看到已经注册好了的域名,点击域名进入解析页面,再点击 添加记录 ,主机记录则填写 blog ,记录类型选择 A ,线路类型默认 ,记录值填写 49.234.46.84 ,TTL默认 600,最后点击确认,等待解析生效,便可通过 blog.molipre.com 这个地址访问到我部署在云服务器上的博客。

    域名14

最后

  • 至此,关于域名的一些知识和解析应用便讲完了,文章篇幅比较长,如果能看到最后,非常荣幸!
  • 那么,下一篇文章见,拜拜👋。

更新补充配置HTTPS(申请SSL证书)

  1. 以腾讯云中申请SSL证书为例,首先先登录腾讯云并打开SSL证书界面,然后点击申请免费证书。

    SSL

  2. 接着选择出现的证书类型(因为只有一个可选项,所以直接点确定即可)
    SSL1

  3. 提交资料,按照提示输入即可。

    • 算法默认选项即可,证书绑定域名输入这个证书你要绑定的域名,例如我这个SSL证书要用于 music.molipre.com 则填写该域名,申请邮箱就填写一个能够接收邮件的邮箱,证书备注填写你的备注,例如该证书用于音乐界面,那我就会填写:音乐 ,私钥密码可填可不填,一般不填写,全部填写完成点击下一步。

      SSL2

    • 选择验证方式选默认的 自动DNS验证 即可,然后点击下一步。

      SSL3

    • 等待验证,会发送两封邮件给你,第一封是SSL证书提交审核通知,这个不用理会,收到第二封证书审核通过的邮件,点击验证按钮,然后跳转到下图中基本信息的界面,则代表证书申请成功。

      SSL4
      SSL5

  4. 此时直接访问 music.molipre.com 这个地址还是会显示 不安全 并且还是 HTTP ,因为证书虽然申请了,但还未使用,接下来以 云服务器(centos7.6、nginx) 为例,说一下如何使用证书以 HTTPS 访问 music.molipre.com 这个地址。

    • 首先下载证书到本地,上图快速上手处可以看到下载证书的按钮,下载下来的证书文件是一个以你的域名命名的zip压缩文件,解压后分别会看到 TomcatIISApacheNginx 四种不同web服务器的证书文件,我们需要的是 Nginx 的,打开Nginx文件夹会看到后缀为 keycrt 的文件,复制这两个文件。

      SSL6

    • 登录云服务器(默认已安装好Nginx),打开nginx所在的目录并在此目录下创建一个ssl文件夹,然后把刚才复制的两个文件粘贴到ssl文件夹内。

      SSL7

    • 然后再返回nginx文件夹,输入 vi nginx.conf 编辑nginx的配置文件,找到下图所示:

      SSL8

      修改为如下所示:
      server_name 改为证书绑定的域名,ssl_certificate 修改为存放crt文件的绝对路径,ssl_certificate_key 修改为存放key文件的绝对路径,然后按住 esc 键,再按 : ,输入 wq 然后按回车键保存已修改的文件,在输入 systemctl start nginx 重启nginx服务,即可发现域名访问为HTTPS并且显示安全。

      SSL9

如有问题请点击邮件或在底下评论与我联系