Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan Ralat Pengesahan Sijil Ditandatangani Sendiri Pelari GitLab-CI?

Bagaimana untuk Menyelesaikan Ralat Pengesahan Sijil Ditandatangani Sendiri Pelari GitLab-CI?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 19:25:13495semak imbas

How to Resolve GitLab-CI Runner Self-Signed Certificate Validation Errors?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn