doc-locale/fr-fr/administration/geo/replication/location_aware_git_url.md
{{< details >}}
{{< /details >}}
[!note] GitLab Geo prend en charge le DNS géolocalisé, y compris le trafic de l'interface utilisateur web et de l'API. Cette configuration est recommandée plutôt que l'URL Git distante géolocalisée décrite dans ce document.
Vous pouvez fournir aux utilisateurs de GitLab une URL distante unique qui utilise automatiquement le site Geo le plus proche d'eux. Cela signifie que les utilisateurs n'ont pas besoin de mettre à jour leur configuration Git pour profiter des sites Geo plus proches lorsqu'ils se déplacent.
C'est possible parce que les requêtes Git push peuvent être automatiquement redirigées (HTTP) ou transmises par proxy (SSH) depuis les sites secondaire vers le site principal.
Bien que ces instructions utilisent AWS Route53, d'autres services tels que Cloudflare peuvent également être utilisés.
Dans cet exemple, nous avons déjà configuré :
primary.example.com en tant que site Geo principal.secondary.example.com en tant que site Geo secondaire.Nous créons un sous-domaine git.example.com qui dirige automatiquement les requêtes :
Dans tous les cas, vous avez besoin de :
Si vous n'avez pas encore configuré un site principal Geo et un site secondaire Geo, consultez les instructions de configuration de Geo.
Dans une zone hébergée Route53, les politiques de trafic peuvent être utilisées pour configurer diverses configurations de routage.
Accédez au tableau de bord Route53 et sélectionnez Traffic policies.
Sélectionnez Create traffic policy.
Renseignez le champ Policy Name avec Single Git Host et sélectionnez Suivant.
Laissez DNS type sur A: IP Address in IPv4 format.
Sélectionnez Connect to et sélectionnez Geolocation rule.
Pour le premier Emplacement, laissez-le sur Default.
Sélectionnez Connect to et sélectionnez New endpoint.
Choisissez Type value et renseignez-le avec <your **primary** IP address>.
Pour le second Emplacement, choisissez Europe.
Sélectionnez Connect to et sélectionnez New endpoint.
Choisissez Type value et renseignez-le avec <your **secondary** IP address>.
Sélectionnez Create traffic policy.
Renseignez Policy record DNS name avec git.
Sélectionnez Create policy records.
Vous avez configuré avec succès un hôte unique, par exemple git.example.com, qui distribue le trafic vers vos sites Geo par géolocalisation !
Lorsqu'un utilisateur clone un dépôt pour la première fois, il copie généralement l'URL Git distante depuis la page du projet. Par défaut, ces URL SSH et HTTP sont basées sur l'URL externe de l'hôte actuel. Par exemple :
[email protected]:group1/project1.githttps://secondary.example.com/group1/project1.gitVous pouvez personnaliser les éléments suivants :
git.example.com géolocalisé. Pour ce faire, modifiez l'hôte de l'URL distante SSH en définissant gitlab_rails['gitlab_ssh_host'] dans gitlab.rb des nœuds web.Après avoir suivi les étapes de configuration décrites précédemment, le traitement des requêtes Git est désormais géolocalisé. Pour les requêtes :
git clone http://git.example.com/foo/bar.git est dirigé vers le site secondaire.git push est initialement dirigé vers le site secondaire, qui redirige automatiquement vers primary.example.com.git clone [email protected]:foo/bar.git est dirigé vers le site secondaire.git push est initialement dirigé vers le site secondaire, qui transmet automatiquement la requête par proxy à primary.example.com.