Skip to main content

Enabling subdomain isolation

You can set up subdomain isolation to securely separate user-supplied content from other portions of your GitHub Enterprise Server appliance.

About subdomain isolation

Subdomain isolation mitigates cross-site scripting and other related vulnerabilities. For more information, see "Cross-site scripting" on Wikipedia. We highly recommend that you enable subdomain isolation on GitHub Enterprise Server 인스턴스.

When subdomain isolation is enabled, GitHub Enterprise Server replaces several paths with subdomains. After enabling subdomain isolation, attempts to access the previous paths for some user-supplied content, such as http(s)://HOSTNAME/raw/, may return 404 errors.

Path without subdomain isolationPath with subdomain isolation
http(s)://HOSTNAME/http(s)://docker.HOSTNAME/
http(s)://HOSTNAME/_registry/npm/https://npm.HOSTNAME/
http(s)://HOSTNAME/_registry/rubygems/https://rubygems.HOSTNAME/
http(s)://HOSTNAME/_registry/maven/https://maven.HOSTNAME/
http(s)://HOSTNAME/_registry/nuget/https://nuget.HOSTNAME/
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/notebooks/http(s)://notebooks.HOSTNAME/
http(s)://HOSTNAME/pages/http(s)://pages.HOSTNAME/
http(s)://HOSTNAME/raw/http(s)://raw.HOSTNAME/
http(s)://HOSTNAME/reply/http(s)://reply.HOSTNAME/
http(s)://HOSTNAME/uploads/http(s)://uploads.HOSTNAME/
http(s)://HOSTNAME/viewscreen/http(s)://viewscreen.HOSTNAME/
Not supportedhttps://containers.HOSTNAME/

Prerequisites

경고: 하위 도메인 격리를 사용하지 않도록 설정한 경우 엔터프라이즈에서 GitHub Pages를 사용하지 않도록 설정하는 것이 좋습니다. 사용자가 제공한 GitHub Pages 콘텐츠를 나머지 엔터프라이즈 데이터와 격리할 수 있는 방법은 없습니다. 자세한 내용은 "Configuring GitHub Pages for your enterprise"을(를) 참조하세요.

Before you enable subdomain isolation, you must configure your network settings for your new domain.

경고: 초기 설정 후 GitHub Enterprise Server의 호스트 이름을 변경하지 마세요. 호스트 이름을 변경하면 예기치 못한 동작이 발생합니다. 최악의 경우 인스턴스 중단 및 사용자 보안 키 무효화 등을 포함합니다. 인스턴스의 호스트 이름을 변경했고 문제가 발생한 경우, GitHub Enterprise 지원 또는 GitHub Premium 지원에 문의하십시오.

  • Set up a wildcard Domain Name System (DNS) record or individual DNS records for the subdomains listed above. We recommend creating an A record for *.HOSTNAME that points to your server's IP address so you don't have to create multiple records for each subdomain.
  • Get a wildcard Transport Layer Security (TLS) certificate for *.HOSTNAME with a Subject Alternative Name (SAN) for both HOSTNAME and the wildcard domain *.HOSTNAME. For example, if your hostname is github.octoinc.com, get a certificate with the Common Name value set to *.github.octoinc.com and a SAN value set to both github.octoinc.com and *.github.octoinc.com.
  • Enable TLS on your appliance. For more information, see "Configuring TLS."

Enabling subdomain isolation

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.

  4. 설정 사이드바의 호스트 이름을 클릭합니다.

  5. Select Subdomain isolation (recommended).

  6. "설정" 사이드바에서 설정 저장을 클릭합니다.

    참고: 관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  7. 구성 실행이 완료될 때까지 기다립니다.