启用子域隔离
您可以设置子域隔离,将用户提供的内容与 GitHub Enterprise Server 设备的其他部分安全地隔离。
本文内容
关于子域隔离
子域隔离可以减少跨站脚本和其他相关漏洞。 更多信息请参阅 Wikipedia 上的“跨站脚本”。 我们强烈建议在 您的 GitHub Enterprise Server 实例 上启用子域隔离。
启用子域隔离后,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 页面。无法将用户提供的 GitHub 页面 内容与设备的其余数据隔离开来。更多信息请参阅“配置设备上的 GitHub 页面”。
启用子域隔离之前,您必须为新域配置网络设置。
-
指定有效域名作为主机名,而不是指定 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”。
启用子域隔离
-
在任意页面的右上角,单击 。
-
在左侧边栏中,单击 管理控制台。
-
在左侧边栏中,单击 Hostname(主机名)。
-
选择 Subdomain isolation (recommended)。
-
在左侧边栏中,单击 Save settings(保存设置)。