个人技术分享

在这里插入图片描述

1. 问题描述

在gitlab中集成jira的时候,由于jira是企业内部网址,并使用自己签名的SSL证书,一直会报证书验证不过的问题,报错信息如下:

Connection failed. Check your integration settings. SSL_connect returned=1 errno=0 peeraddr=xxx.xxx.xxx.xxx:443 state=error: certificate verify failed (self signed certificate in certificate chain)

通过报错信息在网上搜了一通也没找到合适的解决方案,通过一些描述信息感觉是Ruby on rails调用https的时候,没有找到合适的证书,然后才报证书验证错误。

2. 解决方案

2.1. 生成对应的pem证书

执行命令如下:

openssl s_client -showcerts -connect jira.xxx.com:443 < /dev/null 2>/dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p'  >   /etc/gitlab/trusted-certs/jira.xxx.com.pem

2.2. 修改gitlab对应的配置

修改配置文件:/etc/gitlab/gitlab.rb
找到gitlab_rails[‘env’],并添加下面内容:

gitlab_rails['env'] = {"SSL_CERT_FILE" => "/etc/gitlab/trusted-certs/jira.xxx.com.pem"}

2.3. 重新加载配置并重启

执行如下命令:

gitlab-ctl reconfigure

3. 验证联通性

如下图:
在这里插入图片描述

结束语

到这里内容已结束,如有问题,欢迎大家下方留言,我会及时回复!