Skip to main content
Skip to content

关于私有发布的GitHub页面网站

私密发布的 GitHub Pages 站点仅适用于对其存储库具有读取访问权限的人员。 了解这些站点的访问和 URL 的工作原理,以及组织计划发生更改时会发生什么情况。

关于 GitHub Pages 网站的访问控制

通过对 GitHub Pages 进行访问控制,可以通过将网站设为私有发布来限制对项目网站的访问。 只有对发布站点的仓库具有读取权限的人才可访问私密发布的站点。 您可以使用私密发布的站点与企业成员分享您的内部文档或知识库。

注意

若要非公开发布 GitHub Pages 网站,组织必须使用 GitHub Enterprise Cloud。 有关如何免费试用 GitHub Enterprise Cloud 的详细信息,请参阅“设置试用版 GitHub Enterprise Cloud”。

如果企业使用 Enterprise Managed Users, GitHub Pages 则只能将网站发布为专用网站,并且所有 GitHub Pages 网站仅可供其他企业成员访问。 有关 Enterprise Managed Users 的详细信息,请参阅 GitHub Pages 限制。

如果你的组织使用GitHub Enterprise Cloud而不使用Enterprise Managed Users,可以选择将项目网站设为私有发布,或公开发布给互联网上的任何人。

访问控制适用于从组织拥有的专用或内部存储库发布的项目网站。 您无法管理组织站点的访问控制。 有关站点类型 GitHub Pages 的详细信息,请参阅 什么是 GitHub Pages?。

关于私密发布站点的子域名

私下发布的站点与公开发布的站点位于不同的子域中。 这可确保网站 GitHub Pages 从发布的那一刻起就是安全的:

  • *.pages.github.io 的每个子域名都会自动配置 TLS 证书,并强制实施 HSTS,以便浏览器始终通过 HTTPS 为页面提供服务。
  • 每个专用发布的站点都使用唯一的子域,因此组织中的其他存储库无法发布与站点相同的源上的内容。 这样可以保护您的站点免受cookie 抛掷攻击。 这也是为什么 GitHub Pages 站点不托管在 github.com 域中的原因。

可在存储库设置的“页面”选项卡中看到站点独特的子域。 如果您使用配置为以仓库名称为路径来构建站点的静态站点生成器,则在将站点更改为私有站点时可能需要更新静态站点生成器的设置。 有关详细信息,请参阅“管理 GitHub Pages 网站的自定义域”或静态网站生成器的文档。

如果将私密发布的网站更改为公开,则网站的 URL 会更改,除非网站使用自定义域。

若要为以私密方式发布的站点使用较短且更令人难忘的域,可配置自定义域。 有关详细信息,请参阅“为 GitHub Pages 网站配置自定义域”。

计划更改后私密发布的网站

如果组织停止使用 GitHub Enterprise Cloud,例如因为组织已从企业中删除,GitHub 会使现有的专门发布的网站保持私密。 计划更改永远不会更改网站的可见性。 但是,如果删除了私下发布的站点,则从同一存储库创建的新站点可以是公共的。

更改后:

  • 现有已私密发布的网站将继续以其当前 URL 进行私密发布。
  • 当网站存在时,推送到其发布源或运行 GitHub Pages 工作流不会将其设为公开可访问。
  • 每个网站保留其唯一的子域。 仅当删除网站时,才会释放子域。
  • 发布 GitHub Pages 网站的组织策略保持有效。 请参阅“管理组织的 GitHub Pages 站点发布”。
  • 无法私下发布新网站。
  • 无法将现有私密发布的网站的可见性更改为公开。

若要公开发布内容,请删除网站,然后再次创建它。 新网站是公开的,因为该组织无法再以非公开方式发布。 请参阅 删除GitHub Pages 站点 和 创建GitHub Pages网站。

如果组织的计划支持 GitHub Pages 存储库,并且组织的策略允许公开发布的网站,则只能创建新站点。 对于组织的 GitHub Free,GitHub Pages 仅适用于公共存储库。

删除站点后,推送到存储库中命名 gh-pages 的分支也可以自动从该分支创建新站点,只要满足相同的计划和策略条件。 这个新网站也是公开的。

警告

在删除私密发布的站点之前,请检查存储库是否有 gh-pages 人员或自动化进程可能推送到的分支。

延伸阅读