- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何配置 DNS 服务提供商,以便对 www.example.com
和 example.com
的请求都将显示托管在 GitHub Pages 上的网站?打开网站时,我的浏览器地址栏应包含 example.com
。
我的 DNS 服务提供商是 gandi.net
。它不支持 ALIAS
DNS 记录类型。
最佳答案
第 1 步:将新文件 CNAME
添加到您的 GitHub Pages 存储库,其中仅包含一行:您的顶级域名。
例如:
example.com
第 2 步:[可选]但强烈推荐
2.1:从 DNS 配置中删除 A
类型的所有其他顶级记录(以 @ 为前缀)。
2.2:删除二级域 www
的 CNAME
记录(如果存在)。
第 3 步:将这 5 个条目添加到 DNS 配置的最顶部:
@ A 185.199.108.153
@ A 185.199.109.153
@ A 185.199.110.153
@ A 185.199.111.153
www CNAME your_github_username.github.io.
将 your_github_username
替换为您的实际 GitHub 用户名。
第 4 步:WAITING DNS 更改生效。
DNS 更改不会立即生效。它们可能需要一整天的时间才能传播。
<小时/>这个问题有两个方面。一是 DNS 配置本身。另一种是 GitHub Pages 转发 HTTP 请求的方式。
我们需要了解一些事情才能理解 GitHub 在其文档中试图表达的内容。
我们感兴趣的 DNS 记录有两种类型:CNAME
和 A
。
A
也称为 Apex
或有时称为根条目
。它将请求转发到指定的固定 IP 地址。 CNAME
条目将请求转发到指定的 URL(实际有效的纯文本 URL,而不是 IP 地址)。
GitHub 有一个中央 URL 地址,用于接受 GitHub 页面的所有 DNS 请求:http://username.github.io
。该 URL 将根据您的地理位置解析为不同的 IP 地址。 GitHub Pages 上托管的网站是 HTML
、CSS
和 JS
文件的简单集合。 GitHub 将这些文件分发到全局不同的服务器。这样,当您的浏览器从欧洲发送请求时,它会从欧洲的服务器接收数据。这同样适用于来自亚洲和美国的请求。
由于 DNS 中的 A
记录必须包含 IP 地址,并且它们必须是 185.199.108.153
或 185.199.109.153
或 185.199.110.153
或 185.199.111.153
,无法将请求转发到位于欧洲或亚洲某处的服务器。您托管在 GitHub Pages 上的网站将从中央 GitHub Pages 服务器下载。存在一个小风险,如果 GitHub Pages DNS 服务器 (x.x.x.153
) 由于某种原因关闭,则所有使用固定 GitHub Pages IP 地址的自定义域将无法访问(它们的 DNS 请求将无法解析) )。
这就是为什么 GitHub 强烈建议为 GitHub Pages 使用二级域名(例如 blog.example.com
)或使用支持记录类型 的 DNS 服务提供商ALIAS
充当 A
记录,但将请求转发到 URL 地址(例如 username.github.io
)而不是固定 IP 地址。
将 your_github_username.github.io.
的 DNS 请求解析为 IP 地址后,例如185.199.108.153
您的浏览器向该服务器发送带有 HTTP header Host
的 HTTP 请求。下面是加载同一网站的 curl
示例(如果您位于代理服务器后面,这些示例可能不起作用):
$> curl --header "Host: your_github_username.github.io" http://185.199.108.153/
$> curl --header "Host: www.example.com" http://185.199.108.153/
$> curl --header "Host: example.com" http://185.199.108.153/
这样 GitHub Pages 服务器就知道要服务哪个用户网站。
GitHub Pages server will automatically redirect HTTP request to the top-level domain if your
CNAME
file containsexample.com
butwww.example.com
is requested.The same is valid if your
CNAME
file containswww.example.com
but the headerHost
in the HTTP request containsexample.com
.
@
) 的 CNAME
记录条目?引用 GitHub Pages 文档:
<小时/>Warning: Do not create a CNAME record for your custom apex domain! Doing so may cause issues with other services, such as email, on that domain.
Setting up a custom domain with GitHub Pages
关于dns - 如何设置 GitHub Pages 将 DNS 请求从子域(例如 www)重定向到顶级域(TLD、Apex 记录)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375422/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!