关于子域隔离
子域隔离可以减少跨站脚本和其他相关漏洞。 更多信息请参阅 Wikipedia 上的“跨站脚本”。 我们强烈建议在 your GitHub Enterprise Server instance 上启用子域隔离。
启用子域隔离后,GitHub Enterprise Server 会以子域替代多个路径。 启用子域隔离后,尝试访问某些用户提供内容的以前路径(如 http(s)://HOSTNAME/raw/)可能会返回 404 错误。
| 未使用子域隔离的路径 | 使用子域隔离的路径 | 
|---|---|
| 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/ | 
| https://HOSTNAME/_registry/docker/ | http(s)://docker.HOSTNAME/ | 
| https://HOSTNAME/_registry/npm/ | https://npm.HOSTNAME/ | 
| https://HOSTNAME/_registry/rubygems/ | https://rubygems.HOSTNAME/ | 
| https://HOSTNAME/_registry/maven/ | https://maven.HOSTNAME/ | 
| https://HOSTNAME/_registry/nuget/ | https://nuget.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”。
启用子域隔离
-  From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .  
-  If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.  
-  在左侧边� �中,单击 管理控制台。  
-  在左侧边� �中,单击 Hostname(主机名)。  
-  选择 Subdomain isolation (recommended)。  
-  在左侧边� �下,单击 Save settings(保存设置)。  Note: Saving settings in the 管理控制台 restarts system services, which could result in user-visible downtime. 
-  等待配置运行完毕。 