我刚刚为私人仓库启动了一个新网站,现在遇到了问题,但其中一个网站可以正常运行,而另一个网站却生成了 522,所以我想知道这是否是由于我的 CNAME 造成的。以下是我所做操作的列表。
在域名提供商中,我按照指示修改了名称服务器以指向 Cloudflare。在 Cloudflare 中,我设置了每个站点并按照指示指向 Github Page 的 IP:
为了地点A我有一个 CNAME 作为别名,其值为用户名.github.io。 为了地点B我必须删除添加到地点B由于域名 URL 指向地点A即使在 Jekyll 的_config.ymlURL 为:
地点A
baseurl: ""
url: "http://siteA.com"
地点B
baseurl: ""
url: "http://siteB.com"
这两个网站都是使用 Jekyll 构建的,并上传到名为的目录中,/docs
但一个是博客,一个是应用程序登录页面。我收到报告称地点B抛出 522:
与 A 和 B 唯一的区别是 A 有一个 CNAME 文件,其中用户名.github.io。当我将 CNAME 添加到 Cloudflare 站点 B 时,URL 不正确,因此我想知道在 Cloudflare 上的 CNAME 中我是否可以将其编码为:
地点 A
username.github.io/siteA-repo
和
站点 B
username.github.io/siteB-repo
设置 > 来源下的两个站点均已master branch /docs folder
选择。两个系统均已启用 SSL。
参考设置:
联系 Github 后得到的答复是:
此错误通常意味着 Cloudflare 端存在配置错误,意味着它没有指向 Github。
根据您发送的信息(与上面相同),您的域名似乎已设置为指向正确的 IP,因此它应该指向 Github。
答案1
如果有人想知道,那么是的,你应该这样做以避免潜在的 522 错误(仅当您使用 Cloudflare 时)。这个问题最近变得更加严重(自 2023 年 6 月初以来),522 错误似乎经常出现。
要解决此问题,请将您的 CNAME 指向您的域名直接地到您的 GitHub 页面域(用户名.github.io),用于托管在同一帐户上的所有站点。例如,如果您有一个名为 的仓库username.github.io
和另一个名为 的仓库docs
,并且您希望username.github.io
在 上www.example.com
,并且docs
希望在docs.example.com
(图像):
记录 | 姓名 | 内容 | 代理状态 |
---|---|---|---|
别名记录 | 万维网 | 用户名.github.io | 橙色云 |
别名记录 | 文档 | 用户名.github.io | 橙色云 |
然后,您可以将username.github.io
的自定义域设置为www.example.com
并将docs
' 设置为 ,docs.example.com
而不会出现任何错误。
此外,请不要将通配符(*.example.com
)指向您的存储库,而无需为每个域添加单独的记录,因为这也会触发偶尔的 522 错误。
但仍然不知道这是如何引发错误的。