DNS解析中@与www访问
背景
一次解析域名后,只有带www的能访问,不带直接访问域名竟然访问不通,一直以为是自己nginx配置错误问题,升级版本,降低版本重新使用已有正确的访问,发现都不正确,前后折腾了快两个小时,这对经验丰富的我来讲有点不可思议,静下心来,重新捋了一遍头绪,最后发现解析时候没有假如@解析。于是重温DNS解析过程,有了这篇文章
借助某云的一个图,在这需要添加@解析,才能使用不带www或者其他一级域名的访问
在 DNS(域名系统)中,根域名、www 子域名、和 @ 代表的顶级域名(也称为裸域名)解析的机制以及访问一个网站的原理涉及多个步骤,包括 DNS 查询、服务器请求和响应、以及 DNS 配置等
1. DNS 查询过程
当用户在浏览器中输入一个域名(例如 google.com 或 www.google.com)时,浏览器首先会发起 DNS 查询来将该域名转换为 IP 地址。这个过程通常分为以下几个步骤:
- 递归查询:浏览器的操作系统会通过递归 DNS 解析器进行查询。递归 DNS 解析器会向根 DNS 服务器、顶级域 DNS 服务器、以及权威 DNS 服务器逐层查询以找到域名对应的 IP 地址。
- 权威 DNS 服务器:权威 DNS 服务器是负责管理特定域名 DNS 记录的服务器。当递归解析器向权威 DNS 服务器查询时,它将得到对应域名的 A 记录、CNAME 记录、或其他记录,从而确定该域名指向的 IP 地址。
2. DNS 配置
DNS 记录通常包括多种类型,如 A 记录、CNAME 记录、MX 记录等,这些记录用于将域名映射到各种目标(如 IP 地址、其他域名、或邮件服务器)。其中:
- A 记录:A 记录将域名映射到一个 IPv4 地址。例如:@ IN A 192.168.1.1 将 example.com 映射到 IP 地址 192.168.1.1。
- CNAME 记录:CNAME 记录将一个域名映射到另一个域名。例如:www IN CNAME google.com 将 www.google.com 映射到 google.com。
- MX 记录:MX 记录用于指定邮件服务器。例如:@ IN MX 10 mail.example.com 指定 example.com 的邮件服务器为 mail.example.com。
- TXT 记录: 比如刚申请的证书,需要验证会让 解析_dnsauth在域名上面
- 以及其他
3. 网站访问过程
一旦 DNS 解析成功,将域名转换为 IP 地址,浏览器会通过 HTTP(或 HTTPS)协议向该 IP 地址发送请求。以下是网站访问过程的详细说明:
- HTTP 请求:浏览器通过 IP 地址向目标服务器发送 HTTP 请求,包括请求方法(GET、POST 等)和请求 URL。
- 服务器响应:服务器收到请求后,执行相应的处理,并通过 HTTP 响应返回给浏览器。响应包括状态代码、响应头、和响应体(即网页内容)。
- 页面呈现:浏览器接收到服务器的响应后,将网页内容呈现给用户。
4. DNS 配置的影响
正确配置 DNS 记录和服务器设置对于确保域名解析和网站访问的成功至关重要。例如:
在 DNS 配置中,确保根域名(@)和 www 子域名都正确指向相同或适当的 IP 地址或主机。
确保 CNAME 记录或 A 记录配置正确,防止域名解析错误。