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

GitLab Terraform模块注册发现请求改HTTP的配置方法咨询

解决Terraform访问GitLab模块注册库时切换为HTTP的方法

1. 通过Terraform配置指定注册库使用HTTP协议

在你的Terraform配置文件(通常是main.tf)的terraform块中,添加注册库的协议配置,强制针对目标GitLab实例使用HTTP:

terraform {
  registry {
    hostname = "eucceisgtp01.pvcp.intra"
    protocol = "http"
  }

  # 其他配置(如required_providers等)...
}

该配置会让Terraform在请求该GitLab实例的模块注册库发现文档(.well-known/terraform.json)时自动使用HTTP协议,无需修改模块源地址。

2. 修改模块源地址为HTTP格式

如果上述注册库配置不生效,或者你使用的Terraform版本低于0.14,可以直接在模块引用中指定HTTP协议的源地址:

module "azure_vm" {
  # 替换原有的HTTPS源为HTTP格式
  source = "http://eucceisgtp01.pvcp.intra/your-group/your-module/azure_vm?ref=v1.0.0"
}

如果是通过Git协议引用模块,同样可以改成HTTP:

module "azure_vm" {
  source = "git::http://eucceisgtp01.pvcp.intra/your-group/your-module.git//azure_vm?ref=v1.0.0"
}

3. 使用环境变量临时强制HTTP协议

适合临时测试场景,无需修改配置文件:

  • Linux/macOS终端:
# 若GitLab实例无有效HTTPS证书,可跳过验证
export TF_INSECURE_SKIP_VERIFY=true
# 强制Terraform注册库使用HTTP协议
export TERRAFORM_REGISTRY_PROTOCOL=http
  • Windows PowerShell:
$env:TF_INSECURE_SKIP_VERIFY = "true"
$env:TERRAFORM_REGISTRY_PROTOCOL = "http"

4. 修改GitLab服务器端配置(需管理员权限)

如果你的GitLab实例本身未配置HTTPS,可修改GitLab配置强制Terraform注册库使用HTTP:

  1. 编辑GitLab主配置文件(默认路径:/etc/gitlab/gitlab.rb)
  2. 添加或更新以下配置项:
# 确保Terraform注册库处于启用状态
gitlab_rails['terraform_registry_enabled'] = true
# 指定Terraform注册库的HTTP访问地址
gitlab_rails['terraform_registry_url'] = "http://eucceisgtp01.pvcp.intra"
  1. 重新配置并重启GitLab服务:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 13:07:22