Ansible Automation Platform 2.4与GitLab项目同步失败(SSL自签名证书链问题)
Ansible Automation Platform 2.4与GitLab项目同步失败(SSL自签名证书链问题)
嗨,我来帮你一步步解决这个SSL自签名证书的问题,完全不用禁用HTTPS,按下面的步骤来就好:
一、先获取GitLab的自签名证书
你猜的没错,确实可以从浏览器导出GitLab的证书PEM文件,具体操作很简单:
- 打开你的GitLab仓库页面,点击浏览器地址栏左侧的锁形图标
- 选择「查看证书」,在证书详情里找到详细信息标签页
- 点击「复制到文件」,选择**Base64编码 X.509 (.CER)**格式,导出后可以把后缀改成
.pem或者保留.crt都可以 - 注意:如果GitLab用的是完整的证书链(根CA+中间证书),要把所有信任的证书都导出,后续合并到一个bundle文件里
二、把证书添加到AAP的信任目录
你提到的/etc/custom-ca/bundle-ca.crt是个合适的位置,操作如下:
- 先确认目录存在,不存在就创建:
mkdir -p /etc/custom-ca - 把你导出的证书内容追加到
bundle-ca.crt文件里(如果是多个证书,就依次把每个证书的文本内容复制进去,用换行分隔) - 调整文件权限,确保AAP的运行用户能读取:
chmod 644 /etc/custom-ca/bundle-ca.crt
三、配置AAP的环境变量
你已经找到AAP里的EXTRA ENVIRONMENT VARIABLES参数,只要确保**GIT_SSL_CAINFO的路径和你刚才放证书的路径完全一致**就行:
{ "GIT_SSL_CAINFO": "/etc/custom-ca/bundle-ca.crt" }
配置完成后,记得重启AAP的相关服务(比如AWX任务服务或者整个AAP栈),让环境变量生效。
额外注意点
- 别用
GIT_SSL_NO_VERIFY=true绕过验证,你不想禁用HTTPS的思路非常正确,这能避免不必要的安全风险 - 如果配置后还是报错,先检查证书路径是否拼写正确,再确认AAP进程是否有权限读取这个证书文件,最后验证证书文件里是否包含了完整的信任链内容
备注:内容来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

