启用子域隔离

您可以设置子域隔离,将用户提供的内容与 GitHub Enterprise Server 设备的其他部分安全地隔离。

关于子域隔离

子域隔离可以减少跨站脚本和其他相关漏洞。 更多信息请参阅 Wikipedia 上的“跨站脚本”。 我们强烈建议在 您的 GitHub Enterprise Server 实例 上启用子域隔离。

启用子域隔离后,GitHub Enterprise Server 会以子域替代多个路径。 启用子域隔离后,尝试访问某些用户提供内容的以前路径(如 http(s)://HOSTNAME/raw/)可能会返回 404 错误。

要将 Docker 与 GitHub Packages 一起使用,您还必须启用子域隔离。 更多信息请参阅“使用 Docker 注册表”。

注: GitHub Packages 目前正在测试用于 GitHub Enterprise Server 2.22。 要加入 您的 GitHub Enterprise Server 实例 的测试版,请使用注册表单

未使用子域隔离的路径使用子域隔离的路径
http(s)://HOSTNAME/assets/http(s)://assets.HOSTNAME/
http(s)://HOSTNAME/avatars/http(s)://avatars.HOSTNAME/
http(s)://HOSTNAME/codeload/http(s)://codeload.HOSTNAME/
http(s)://HOSTNAME/gist/http(s)://gist.HOSTNAME/
http(s)://HOSTNAME/media/http(s)://media.HOSTNAME/
http(s)://HOSTNAME/pages/http(s)://pages.HOSTNAME/
http(s)://HOSTNAME/raw/http(s)://raw.HOSTNAME/
http(s)://HOSTNAME/render/http(s)://render.HOSTNAME/
http(s)://HOSTNAME/reply/http(s)://reply.HOSTNAME/
http(s)://HOSTNAME/uploads/http(s)://uploads.HOSTNAME/
不适用,带有 GitHub Packages 的 Docker 将无法在 GitHub Packages 2.22 测试版禁用子域隔离的情况下工作。http(s)://docker.HOSTNAME/

基本要求

警告:如果禁用子网分隔,建议同时在企业上禁用 GitHub Pages。 无法将用户提供的 GitHub Pages 内容与其余企业数据分隔。 更多信息请参阅“为企业配置 GitHub Pages”。

启用子域隔离之前,您必须为新域配置网络设置。

  • 指定有效域名作为主机名,而不是指定 IP 地址。 更多信息请参阅“配置主机名。”

警告:初始设置后不要更改 GitHub Enterprise Server 的主机名。 更改主机名将会导致意外的行为,甚至包括实例中断。

  • 为上文列出的子域设置通配符域名系统 (DNS) 记录或单独的 DNS 记录。 建议为指向您的服务器 IP 地址的 *.HOSTNAME 创建一条 A 记录,从而无需为各个子域创建多条记录。
  • *.HOSTNAME 获取一个使用者可选名称 (SAN) 同时适用于 HOSTNAME 和通配符域 *.HOSTNAME 的通配符传输层安全 (TLS) 证书。 例如,如果您的主机名为 github.octoinc.com,则获取一个通用名值设为 *.github.octoinc.com、SAN 值同时设为 github.octoinc.com*.github.octoinc.com 的证书。
  • 在设备上启用 TLS。 更多信息请参阅“配置 TLS”。

启用子域隔离

  1. 从 GitHub Enterprise Server 上的管理帐户,点击任何页面右上角的 用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 管理控制台左侧边栏中的 管理控制台 选项卡
  3. 在左侧边栏中,单击 Hostname(主机名)设置侧边栏中的主机名选项卡
  4. 选择 Subdomain isolation (recommended)启用子域隔离的复选框
  5. 在左侧边栏下,单击 Save settings(保存设置)管理控制台 中的 Save settings 按钮
  6. 等待配置运行完毕。

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。