把域名和主机进行绑定的做法, 实际上就是利用DNS解析功能, 把这个域名指向那个指定服务器的IP地址, 这样用户在访问域名的过程中, 就可以直接到达对应的主机了, 其中的核心操作环节为添加A记录或者是CNAME记录, 整个过程都是在域名的管理后台上面全部完成完毕的, 完全不需要去修改主机端相关的配置。
域名与主机的关系
域名这个东西, 它其实就是网站的地址标识, 而主机, 也就是服务器, 它是那个实际提供服务的物理载体。这两者之间, 是通过DNS这个系统来建立映射关系的, 什么意思, 就是域名本身是不存储数据的, 所有访问请求都是经过解析之后, 才被转发到主机的IP上面的。
还有, 一个域名是可以解析到多台主机的, 这种情况叫做负载均衡, 反过来看, 一台主机也是可以承载多个域名的, 这就是多站点。
绑定操作步骤
1. 你需要去登录那个域名的注册商, 或者登录管理平台的解析管理页面, 就像是gz88.cn这样的域名服务商的后台, 都提供了该功能, 这个你得注意一下。
2. 请确认主机端已经获取到了公网IP, 或者弹性IP地址。
3. 把解析相关的记录给添加上。
记录类型需要选为A, 主机记录的填写内容可以是@, 这代表主域名, 或者使用www, 记录值的地方请填写对应的IP地址, TTL时间保持默认的600秒不变。
选择记录类型为CNAME这一种类型, 然后在主机记录这个填空的地方填写三个字母的www, 接着在记录值那个位置要填写上目标域名的名称部分, 这种配置方法通常适用于主机商提供固定域名或者CDN节点的情况。
4. 保存完毕之后要耐心等待DNS生效, 时间大概在5分钟到48小时之间, 具体多久要看TTL以及缓存的影响情况。
5. 执行 nslookup 域名这个操作, 在命令行里进行。或者执行 ping 域名这个操作, 也在命令行里完成。确认返回的IP和主机的IP是一致的。
常见疑难与处理
解析未生效: 去检查一下域名设置的TTL数值是不是设置得太高了, 还要看看本地的DNS缓存有没有被清空掉, 如果不行的话, 你可以尝试运行ipconfig /flushdns这个命令来刷新缓存, 或者把系统的DNS服务器地址改成114.114.114.114;另外, 不同网络运营商之间的数据同步存在时间差, 所以生效速度会有所不同, 建议你分区域分别进行测试和验证。
HTTPS证书报错: 把域名绑定到主机上之后, 必须在主机的这一端去配置SSL类型的证书,这可以是Let's Encrypt证书, 也可以是那种商业证书, 一定要确保这个证书能把刚才说的那个域名给涵盖住, 如果这么做了还是不对, 浏览器就会提醒你这里是不安全的。
一主机多域名: 在主机Web服务(Nginx/Apache)里面, 要去配置Server Name(虚拟主机), 然后让每个域名都去对应一个独立的站点目录。另外要在DNS那边进行设置, 让各个域名分别解析到同一个IP地址, 这样就可以了。
域名未实名认证: 在中国大陆注册的域名, 必须要去把实名认证这件事给办完, 才能弄到正常的解析服务, 如果你没有去认证, 那么解析记录就会被屏蔽掉, 这种情况下需要你先跑到对应的注册商后台那里, 把证件给提上去进行审核。
注意事项
建议在修改生产环境的DNS之前, 可以先将TTL的值临时调低为300秒, 这样做能够减少在出现故障时切换到备用线路所需的等待时间。在进行批量操作以前, 务必要把现有的解析记录进行备份, 这样可以防止因为误删而导致网站停止服务。
对于企业级别的应用场景, 推荐使用平台自己提供的API接口, 或者选用像阿里云DNS、腾讯DNSPod这样的DNS服务来进行集中式的管理, 这样做的优点是有利于控制权限, 并且方便对所有的变更行为进行审计和追踪。


