给VSCode装了一个gitlab的插件,但是无法登录,报错如下:
: Extracted urls: []
: Extracted urls: []
: More recent project update in progress, discarding findings for urls: []
: Found 0 projects for urls: []
[error]: {
"userMessage": "Request failed: Can't add GitLab account for https://git.yangyq.net. Check your instance URL and network connection.",
"errorMessage": "request to https://git.yangyq.net/api/v4/user failed, reason: unable to verify the first certificate",
"stack": [
"FetchError: request to https://git.yangyq.net/api/v4/user failed, reason: unable to verify the first certificate",
"\tat ClientRequest.<anonymous> (c:\\Users\\Yongquan\\.vscode\\extensions\\gitlab.gitlab-workflow-3.47.2\\out\\extension.js:4:338866)",
"\tat ClientRequest.emit (node:events:402:35)",
"\tat TLSSocket.socketErrorListener (node:_http_client:447:9)",
"\tat TLSSocket.emit (node:events:390:28)",
"\tat emitErrorNT (node:internal/streams/destroy:157:8)",
"\tat emitErrorCloseNT (node:internal/streams/destroy:122:3)",
"\tat processTicksAndRejections (node:internal/process/task_queues:83:21)"
]
}
能够看出是证书的问题。
大概的原因是证书链设置的不对,本地客户端没有根证书,因此无法进行通信,实际上,如果证书下载的是Nginx版本,证书链就已经设置好了,可以直接使用。
首先申请证书,最好是从阿里云等公司,申请正规的CA证书,不要用自签证书。下载证书,注意下载Nginx版本。
把文件夹中的pem和key文件,上传到服务器。
证书存放目录:
/etc/gitlab/ssl/
修改gitlab自带的nginx的配置文件:
/etc/gitlab/gitlab.rb
修改其中的证书配置:
nginx['enable'] = true nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.yangyq.net.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.yangyq.net.key"
如果下载回来的证书不是crt格式,是pem格式,则上述地址改为.pem。或者将pem文件改为crt文件,也可以。
然后,重新配置和重启gitlab:
gitlab-ctl reconfigure gitlab-ctl restart


Gitlab是一种语言,github是一个网站?一头雾水
@xqiushi git是一种管理代码的软件,gitlab和github,都是基于git的网站,目的是为了让用户管理自己的代码。很多人就用这两个网站,把自己的代码给分享出来了,就是开源了。
有些人,觉得gitlab和github都是国外的,访问速度不行,或者说觉的数据放别人那里不安全,就想着自己用git搭建一个管理代码的网站,于是gitlab就把自己的整个网站给开源了,这样,其他人也可以用gitlab的代码,搭建一个属于自己的代码管理系统了。