Maison >développement back-end >Golang >Comment résoudre les erreurs de validation du certificat auto-signé GitLab-CI Runner ?
Gitlab-CI Runner : contourner la vérification du certificat auto-signé
Lors de l'enregistrement d'un multi-runner Gitlab-CI, vous pouvez rencontrer des erreurs liées à la validation du certificat, tel que :
couldn't execute POST against https://xxxx/ci/api/v1/runners/register.json: Post https://xxxx/ci/api/v1/runners/register.json: x509: cannot validate certificate for xxxx because it doesn't contain any IP SANs
Ce problème survient lorsque le serveur Gitlab présente un auto-signé certificat qui ne contient pas de noms alternatifs de sujet IP (SAN). Pour contourner la validation du certificat, vous pouvez utiliser l'option --tls-ca-file lors de l'enregistrement du coureur.
gitlab-runner register --tls-ca-file=/path/to/certificate.crt [other options]
Où /path/to/certificate.crt est le chemin absolu vers le certificat auto-signé déposer. Alternativement, vous pouvez désactiver entièrement la vérification du certificat en définissant --tls-disable-verify sur true, mais cela n'est pas recommandé car cela peut compromettre la sécurité de votre runner.
gitlab-runner register --tls-disable-verify=true [other options]
Si vous n'êtes pas l'administrateur du serveur Gitlab mais sont responsables de la gestion du serveur runner, vous pouvez obtenir le certificat du serveur Gitlab en utilisant les commandes suivantes :
SERVER=gitlab.example.com PORT=443 CERTIFICATE=/etc/gitlab-runner/certs/${SERVER}.crt sudo mkdir -p $(dirname "$CERTIFICATE") openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2>/dev/null | sed -e '/-----BEGIN/,/-----END/!d' | sudo tee "$CERTIFICATE" >/dev/null
Une fois que vous avez obtenu le certificat, vous pouvez enregistrer le runner en utilisant l'option --tls-ca-file comme décrit précédemment.
Notez que cette méthode peut ne pas fonctionner pour les certificats personnalisés signés par une autorité de certification en raison d'un bug dans la version 1.11 de gitlab-runner. .2. Si vous rencontrez des problèmes, il est recommandé de passer à une version plus récente de gitlab-runner.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!