Tự dưng một buổi chiều đẹp trời, vớ phải cái lỗi ẩm ương, làm gián đoạn hết kế hoạch của mình, tìm hiểu một vòng trên mang… các phải pháp tự tựa như nhau, có vẻ cũng khá nhiều người gặp vấn đề này… nhưng chưa có dòng nào copy rồi run mà chạy cả.
DungNQs-MacBook-Pro:www dungnq$ git clone https://git.xxx.com.vn/root/xxx.git
Cloning into ‘xxx’…
fatal: unable to access ‘https://git.xxx.com.vn/root/it-app-fwb-microsite.git/’: SSL peer handshake failed, the server most likely requires a client certificate to connect
Làm việc vào cái lúc chiều, buồn ngủ, không khả dĩ đối với công việc nghiên cứu này lắm… bỏ đấy và đi tìm hiểu một số thứ xung quan vụ SSL. Thử kiểm tra một vài lệnh test với openssl thì thấy cấu hình mặc định của GitLab không chạy ổn
openssl s_client -connect xxx:443 -tls1
Thử vào cấu hình của GitLab
nginx[‘ssl_ciphers’] = “ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256”
…
ci_nginx[‘ssl_ciphers’] = “ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256”
Hoá ra với một số hệ điều hành như MaxOS mã hoá mặc định của GitLab không còn an toàn, nên bản thân hệ điều hành đã bỏ loại bỏ các giải pháp này. Tư duy một chút, đơn giản chỉ cần bổ sung các mã encrypt khác để giúp tương thích với mấy bạn tiên tiến kia.
nginx[‘ssl_ciphers’] = “EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4”
Cấu hình tương tự với ci_nginx, sau đó reconfigure và restart để sử dụng GitLab bình thường.
Một ngày may mắn và thú vị với mình đây 😀
Leave a Comment