hewking's blog
Author: hewking
Labels: blog
Created: 2024-12-29T05:45:35Z
Link and comments: https://github.com/hewking/blog/issues/33
在 GitHub Pages 中配置 DNS A 记录,是为了让你的自定义域名(例如 example.com
)指向你的 GitHub Pages 网站。这样,用户就可以通过访问你的域名来访问你的网站,而不是使用 GitHub 提供的 username.github.io
域名。
以下是详细步骤:
1. 获取 GitHub Pages 的 IP 地址:
虽然 GitHub 官方文档中过去会提供固定的 IP 地址,但现在推荐使用 CNAME 记录或 ALIAS/ANAME 记录。如果必须使用 A 记录,你需要使用 dig
命令或在线 DNS 查询工具来查找 username.github.io
或 organization.github.io
的 IP 地址。因为这些 IP 地址可能会更改,所以不建议直接写死在 DNS 设置中。
在终端或命令提示符中运行以下命令:
dig username.github.io A
或者
dig organization.github.io A
将 username
或 organization
替换为你的 GitHub 用户名或组织名。
命令输出中,ANSWER SECTION
部分会列出 IP 地址。例如:
;; ANSWER SECTION:
username.github.io. 3600 IN A 185.199.108.153
username.github.io. 3600 IN A 185.199.109.153
username.github.io. 3600 IN A 185.199.110.153
username.github.io. 3600 IN A 185.199.111.153
你需要记录下这些 IP 地址(通常是四个)。
注意: 强烈建议使用 CNAME 或 ALIAS/ANAME 记录,因为它们更稳定,并且会自动处理 IP 地址的更改。只有在你的 DNS 提供商不支持 CNAME 记录指向根域名(例如 example.com
)或不支持 ALIAS/ANAME 记录时,才需要使用 A 记录。
2. 登录你的域名注册商的 DNS 管理面板:
你需要登录到你购买域名的域名注册商的网站,例如阿里云、腾讯云、GoDaddy、Namecheap 等。找到 DNS 管理或域名解析的设置页面。
3. 添加 A 记录:
在 DNS 设置页面,找到添加 DNS 记录的选项。你需要添加一条或多条 A 记录。
A
。example.com
)指向你的 GitHub Pages 网站,则填写 @
或留空。www.example.com
)指向你的 GitHub Pages 网站,则填写 www
。例如,如果你的域名是 example.com
,并且你获取到的 IP 地址是 185.199.108.153
、185.199.109.153
、185.199.110.153
和 185.199.111.153
,则你需要添加四条 A 记录,如下所示:
记录类型 | 主机记录 | 记录值 |
---|---|---|
A | @ | 185.199.108.153 |
A | @ | 185.199.109.153 |
A | @ | 185.199.110.153 |
A | @ | 185.199.111.153 |
4. 在你的 GitHub 仓库中添加 CNAME 文件(如果使用根域名):
如果你的域名是根域名(例如 example.com
),你需要在你的 GitHub Pages 仓库的根目录下创建一个名为 CNAME
的文件(没有扩展名)。在该文件中,写入你的域名,例如:
example.com
5. 在 GitHub 仓库的设置中配置自定义域名:
进入你的 GitHub 仓库的设置页面,找到 “Pages” 部分。在 “Custom domain” 输入框中,输入你的域名(例如 example.com
或 www.example.com
),然后点击 “Save”。
6. 等待 DNS 生效:
DNS 更改需要一段时间才能在全球范围内生效,通常需要几分钟到几小时不等。你可以使用在线 DNS 查询工具(例如 https://www.whatsmydns.net/
)来检查 DNS 解析是否生效。
重要提示:
www.example.com
),则不需要在仓库中创建 CNAME
文件。通过以上步骤,你就可以成功地将你的自定义域名配置到你的 GitHub Pages 网站了。如果遇到任何问题,请参考你的域名注册商的文档或 GitHub Pages 的官方文档。