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

本地部署GitLab下同组仓库如何引用模块解决CI SSL证书错误

无需HTTPS的模块引用方式
  • SSH协议引用:把模块源改为SSH协议格式,配置好SSH密钥权限后即可使用,示例配置:
module "custom-vpc" {
  source = "git::ssh://git@local.gitlab.mydomain.com/aws/modules.git//vpc"
  # 其余配置保持不变
}

如果在GitLab CI中使用,可以给CI任务配置有权限拉取Modules仓库的SSH私钥,或是开启CI_JOB_TOKEN的SSH访问权限即可完成拉取,全程不需要走HTTPS协议。

  • 子模块挂载引用:将Modules仓库作为Git子模块挂载到VPC仓库的指定目录,示例挂载命令:
git submodule add git@local.gitlab.mydomain.com:aws/modules.git ./modules

之后直接用本地路径引用模块即可:

module "custom-vpc" {
  source = "./modules/vpc"
  # 其余配置保持不变
}

CI执行时需要开启子模块拉取配置,在.gitlab-ci.yml中添加变量GIT_SUBMODULE_STRATEGY: recursive即可自动拉取子模块内容。

  • 内网非加密HTTP引用:如果你的本地GitLab实例开放了内网HTTP端口,也可以直接使用HTTP协议的源地址:
module "custom-vpc" {
  source = "git::http://local.gitlab.mydomain.com/aws/modules.git//vpc"
  # 其余配置保持不变
}

注意:该方式传输内容不加密,仅建议在内网完全可信的环境下使用

针对现有HTTPS配置报错的修复方案

如果你还是希望使用HTTPS协议,也可以通过以下方式解决SSL证书报错:

  • 信任本地自签名证书:将本地GitLab使用的自签名根证书导入到CI Runner所在节点的系统根证书信任库中,或是给Git配置指定证书路径,示例CI前置命令:
git config --global http.https://local.gitlab.mydomain.com/.sslCAInfo /path/to/your/local-gitlab-ca.crt
  • 临时关闭SSL校验(不推荐生产使用):如果是测试环境快速验证,可以临时关闭对应域名的SSL校验,示例CI前置命令:
git config --global http.https://local.gitlab.mydomain.com/.sslVerify false
  • 使用CI_JOB_TOKEN内置权限拉取:GitLab CI默认提供的CI_JOB_TOKEN自带同一群组下仓库的拉取权限,你可以修改模块源为带认证信息的格式,不需要额外配置密钥:
module "custom-vpc" {
  source = "git::https://gitlab-ci-token:${CI_JOB_TOKEN}@local.gitlab.mydomain.com/aws/modules.git//vpc"
  # 其余配置保持不变
}

内容的提问来源于stack exchange,提问作者user971741

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:06:06