最近一年好像流行“真相竟然是这样”或者“啥啥竟然咋咋”的句式。从来不拒绝恶俗的我也在标题里跟个风。 简单科普一项跟域名有关的知识,也是回答一个基本问题:从你在浏览器地址栏敲完一个网址(或点开一个链接)到你看到那个网页,这期间背后发生了哪些事情?弄清楚这个问题的答案之后,我们就能更好理解域名有关的配置。比如你敲一个网址 解释域名知识之前先科普另一个小知识:如果链接是以文件夹名结尾,那么一般情况下服务器会在那个文件夹下找一个叫 首先发生的事情是域名
继续上面的例子,大概也就是这样:
我当初入网站坑的时候,CNAME 记录还不太流行,通常域名都是设置 A 记录,也就是纯 IP 地址。现今 CNAME 也不是那么冷门了,例如 Github 就率先用了这个办法在 Github Pages 中支持用户自定义域名,大致说来就是 Github 会免费分配给你一个它的子域名,形如 所有域名记录都称作 DNS 记录,每一家域名注册商应该都会同时提供域名服务器和 DNS 记录的修改。如果你选择用域名注册商默认的域名服务器,那么你可以在它家直接修改 DNS 记录。如果你选择用别家的域名服务器,那就需要在别家修改 DNS 记录,因为 DNS 记录是归域名服务器管,而不归具体的域名注册商管。 说了这一大圈,终于可以解释我年初的小绿锁一文中提到的 Cloudflare 了。说到底,它就是充当了域名服务器的角色,顺便从域名层面上提供了很多别的功能(如 CDN 加速、压缩 HTML/JS/CSS 文件等)。你可以在你的域名注册商那里修改域名服务器指向 Cloudflare 提供的域名服务器,然后在 Cloudflare 上添加 DNS 记录做域名解析。 如果你的网站是静态网站(纯 HTML 页面),那么我强力推荐 Netlify。这是我见过的综合性能最好的一家静态网站发布商,它的免费服务中已经有了很多实用的功能,比如支持 Hugo/Jekyll 等静态网站编译工具、免费 https、自定义重定向,等等。静态网站发布工具的传统大牌是亚马逊的 S3(跟 R 里面的 S3 毫无关系),但说实话亚马逊的工具我用起来从来没觉得顺手过,可能我是一个假的开发者。之前我也是一直用 Github Pages,虽然也挺好用,但功能比 Netlify 少,更重要的是,Github Pages 网站必须通过 GIT 管理,我的洁癖有点不太能接受用 GIT 管理副产品,也嫌麻烦。版本控制应该是用来控制源代码,当然,管理副产品也不是完全没有意义,有时候你可能确实想看看网站里那些 HTML 页面有什么异常的 git 差异。 Netlify 把网站发布简化到了极致,你甚至可以直接拖拽一个编好了的网页文件夹上传发布,几秒钟的事儿。当然,每次重复拖拽上传也很麻烦,所以我是把 Github 库和 Netlify 连起来,每次我只需要管往我的 Github 源代码库里推送新内容,编译发布的事情就留给 Netlify 去做了。如果你是用 blogdown 建站,那么 Netlify 上的编译命令可以选 如果你用了 Netlify,其实就没什么必要用 Cloudflare 了,因为后者的功能前者基本上都已经提供了,所以你没必要在域名注册商那里修改域名服务器。目前据我的了解,只有两项功能后者有前者的免费服务里没有:
如果这两个功能对你意义不大,那么就只剩一个问题要考虑了:你的域名要不要用 www 前缀。这个问题有点让人头疼,也是域名问题里的一个大坑。时间有限,我不多说。如果求简单,那么就用 www,Netlify 上的域名设置参见它的文档。如果追求简短网址而不想要 www 的话,技术细节会复杂一些但配置也并没那么复杂,客官们可以看这篇文章。简单说来如下: 带 www 前缀的域名实际上是一个子域名(二级域名),任何子域名都可以设置别名记录,但顶级域名(不带 www)理论上不能设置别名。Cloudflare 提供了一个黑招来绕过这个问题,这个招数名称叫“CNAME Flattening”,说白了也就是让顶级域名也可以设置别名。如果你真心希望你的网址前面不要带 www(短啊),那么可能只能选择 Cloudflare 了;否则,没有使用 Cloudflare 的必要。另外,尽管 Cloudflare 号称提供云加速,实际上在天朝访问时它是减速器,网站必须要备案4以及是企业付费用户才能在天朝加速。当然,即使你使用 Cloudflare 做域名解析服务,你也可以把它当做纯域名解析工具,不使用加速功能。 最后对 Cloudflare 用户再说一个小坑:如果你是 Cloudflare 和 Netlify 同时使用,那么在 Netlify 上启用 https 时,需要先关闭 Cloudflare 的 DNS 设置中的 CDN 加速功能,即:点一下那个云标志,让它变灰。然后在 Netlify 上启用 https,否则可能无法启用。启用完毕了在 Cloudflare 上要不要重新开启 CDN 都无所谓,看你在不在乎我前面说的几个功能了。 等再有空的时候我再说一说邮箱的配置。对于技术可以自理的客官,直接去 Migadu 注册并按照指引设置 DNS 记录即可(主要是 MX 记录)。有一个自己域名的邮箱看起来很别致,比起铺天盖地的 Gmail 或 QQ 邮箱帅多了。早年间,Gmail 还免费提供邮箱服务,后来关掉了变成了收费服务,我入坑早,所以我还有 至此,一个静态网站所需要的基本知识,除了 R 包 blogdown 话题略大我没细说之外,应该已经够多数人学习、掌握、应用了。 |
|