You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自托管GitLab实例中使用自定义CAChain?

如何在自托管GitLab实例中使用自定义CA Chain?

别担心,我来帮你一步步搞定这个问题!针对你部署在私有10.1.x.y/16网络中、由企业签名的自托管GitLab实例,要配置自定义CA链/证书密钥对,你可以按照以下步骤操作:

  • 准备证书文件
    首先把你的企业签名CA证书链(PEM格式)和对应的私钥文件放到GitLab的默认信任证书目录:/etc/gitlab/trusted-certs/。

    • 确保证书文件后缀为.crt或.pem,私钥文件后缀为.key
    • 设置正确的文件权限,避免GitLab读取失败:
      sudo chmod 644 /etc/gitlab/trusted-certs/your-ca-chain.pem
      sudo chmod 600 /etc/gitlab/trusted-certs/your-private-key.key
      sudo chown root:root /etc/gitlab/trusted-certs/*
      
  • 修改GitLab核心配置
    打开GitLab的主配置文件/etc/gitlab/gitlab.rb(建议用sudo vi或sudo nano编辑),添加或修改以下配置项:

    • 首先指定GitLab的外部访问URL(需和证书中的域名匹配):
      external_url 'https://your-gitlab-internal-domain.com'
      
    • 配置Nginx使用你的自定义证书和私钥:
      nginx['ssl_certificate'] = "/etc/gitlab/trusted-certs/your-ca-chain.pem"
      nginx['ssl_certificate_key'] = "/etc/gitlab/trusted-certs/your-private-key.key"
      
    • 如果GitLab需要访问其他使用该自定义CA的内部服务,还可以指定全局CA文件确保所有组件都信任这个链:
      gitlab_rails['ca_file'] = "/etc/gitlab/trusted-certs/your-ca-chain.pem"
      
  • 应用配置并重启GitLab
    执行GitLab的配置刷新命令,它会自动处理证书信任的相关设置:

    sudo gitlab-ctl reconfigure
    

    配置完成后,重启GitLab服务确保所有组件加载新配置:

    sudo gitlab-ctl restart
    
  • 验证配置效果

    • 用浏览器访问GitLab的外部URL,确认没有SSL证书警告,证书显示为企业签名的有效状态
    • 在GitLab服务器上执行以下命令,检查证书链是否正确加载:
      openssl s_client -connect your-gitlab-internal-domain.com:443
      
      输出中应该能看到完整的自定义CA链信息

备注:内容来源于stack exchange,提问作者Jon Weinraub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:55:29