コマンド gitlab-ci-multi-runner register を使用して Gitlab-CI ランナーを登録しようとすると、ユーザーは次のエラーでわかるように、証明書の検証に関連する問題が発生しました。メッセージ:
Post https://xxxx/ci/api/v1/runners/register.json: x509: cannot validate certificate for xxxx because it doesn't contain any IP SANs
このエラーは、ランナーが Gitlab サーバーによって提示された証明書を検証できないことが原因で発生します。この問題に対処するには、特定の状況に基づいて 2 つの推奨アプローチがあります。
非管理ユーザーの場合:
ユーザーがGitlab サーバーでは、以下の手順に従って必要な証明書を取得し、ランナーを登録できます。成功:
PEM 形式で証明書を取得:
openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2></dev/null | sed -e '/-----BEGIN/,/-----END/!d'
証明書をファイルに保存:
sudo tee "$CERTIFICATE" >/dev/null
--tls-ca-file を使用してランナーを登録しますオプション:
gitlab-runner register --tls-ca-file="$CERTIFICATE" [other options]
管理者ユーザーの場合:
ユーザーが Gitlab サーバーへの管理アクセス権を持っている場合、問題を解決できます。 IP サブジェクト代替名 (SAN) を使用して SSL 証明書を構成することで、ランナーがサーバーのアイデンティティ。
以上がGitLab-CI Runner 証明書の検証の問題を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。