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 votre instance 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 isolation | Path 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 supported | https://containers.HOSTNAME/ |
Prerequisites
Avertissement : si l’isolation de sous-domaine est désactivée, nous vous recommandons également de désactiver GitHub Pages sur votre entreprise. Il n’existe aucun moyen d’isoler du contenu GitHub Pages fourni par l’utilisateur du reste des données de votre entreprise. Pour plus d’informations, consultez « Configuring GitHub Pages for your enterprise ».
Before you enable subdomain isolation, you must configure your network settings for your new domain.
- Specify a valid domain name as your hostname, instead of an IP address. For more information, see "Configuring the hostname for your instance."
Avertissement : ne modifiez pas le nom d’hôte de GitHub Enterprise Server après la configuration initiale. La modification du nom d’hôte entraînera un comportement inattendu, pouvant aller jusqu’à des interruptions de l’instance et l’invalidation des clés de sécurité des utilisateurs. Si vous avez modifié le nom d’hôte de votre instance et rencontrez des problèmes, contactez Support GitHub Enterprise ou Support Premium GitHub.
- 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 bothHOSTNAME
and the wildcard domain*.HOSTNAME
. For example, if your hostname isgithub.octoinc.com
, get a certificate with the Common Name value set to*.github.octoinc.com
and a SAN value set to bothgithub.octoinc.com
and*.github.octoinc.com
. - Enable TLS on your appliance. For more information, see "Configuring TLS."
Enabling subdomain isolation
-
À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
-
Dans la barre latérale « Administrateur de site », cliquez sur Management Console .
-
Dans la barre latérale « Paramètres », cliquez sur Nom d’hôte.
-
Select Subdomain isolation (recommended).
-
Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.
Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.
-
Attendez la fin de l’exécution de la configuration.