Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan Ralat Pengesahan Sijil Ditandatangani Sendiri Pelari GitLab-CI?
Gitlab-CI Runner: Melangkaui Pengesahan Sijil Ditandatangani Sendiri
Apabila mendaftar Gitlab-CI multi-runner, anda mungkin menghadapi ralat yang berkaitan kepada pengesahan sijil, seperti:
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
Isu ini timbul apabila pelayan Gitlab membentangkan sijil yang ditandatangani sendiri yang tidak mempunyai Nama Alternatif Subjek IP (SAN). Untuk memintas pengesahan sijil, anda boleh menggunakan pilihan --tls-ca-file semasa mendaftarkan pelari.
gitlab-runner register --tls-ca-file=/path/to/certificate.crt [other options]
Di mana /path/to/certificate.crt ialah laluan mutlak ke sijil yang ditandatangani sendiri fail. Sebagai alternatif, anda boleh melumpuhkan pengesahan sijil sepenuhnya dengan menetapkan --tls-disable-verify kepada benar, tetapi ini tidak disyorkan kerana ia boleh menjejaskan keselamatan pelari anda.
gitlab-runner register --tls-disable-verify=true [other options]
Jika anda bukan pentadbir daripada pelayan Gitlab tetapi bertanggungjawab untuk menguruskan pelayan pelari, anda boleh mendapatkan sijil daripada pelayan Gitlab menggunakan yang berikut arahan:
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
Setelah anda memperoleh sijil, anda boleh mendaftarkan pelari menggunakan pilihan --tls-ca-file seperti yang diterangkan sebelum ini.
Perhatikan bahawa kaedah ini mungkin tidak berfungsi untuk sijil tersuai yang ditandatangani CA kerana pepijat dalam versi 1.11.2 gitlab-runner. Jika anda menghadapi masalah, disyorkan untuk menaik taraf kepada versi gitlab-runner yang lebih baharu.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Pengesahan Sijil Ditandatangani Sendiri Pelari GitLab-CI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!