如何配置Docker部署的GitLab容器以支持HTTPS访问?
解决GitLab EE Docker容器HTTPS访问失败的配置步骤
1. 修改GitLab核心配置文件
你通过挂载卷将GitLab的配置目录映射到了宿主机的$env:GITLAB_HOME/config,直接编辑该目录下的gitlab.rb文件:
- 设置外部访问地址为HTTPS协议:
external_url 'https://192.168.178.35' - (可选)开启HTTP自动跳转至HTTPS:
nginx['redirect_http_to_https'] = true
2. 准备SSL证书
如果没有正式的SSL证书(如Let's Encrypt颁发的证书),可以生成自签名证书用于测试:
- 在宿主机创建证书存储目录:
New-Item -ItemType Directory -Path "$env:GITLAB_HOME/config/ssl" -Force - 使用OpenSSL生成自签名证书(填写信息时,Common Name需填写
192.168.178.35或你的hostnamegitlab.example.de):openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "$env:GITLAB_HOME/config/ssl/192.168.178.35.key" -out "$env:GITLAB_HOME/config/ssl/192.168.178.35.crt"
若已有正式证书,将证书文件(.crt)和密钥文件(.key)放入上述ssl目录即可。
3. 配置Nginx使用SSL证书
在gitlab.rb中添加证书路径配置:
nginx['ssl_certificate'] = "/etc/gitlab/ssl/192.168.178.35.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/192.168.178.35.key"
4. 重新加载GitLab配置并重启容器
- 进入容器执行配置重载:
docker exec -it gitlab gitlab-ctl reconfigure - 重启容器使配置生效:
docker restart gitlab
5. 浏览器端信任证书
访问https://192.168.178.35时,浏览器会提示连接不安全(自签名证书特性),需手动将证书添加到系统或浏览器的信任列表中,具体操作根据使用的浏览器而定。
内容的提问来源于stack exchange,提问作者Z.J
相关产品推荐
相关产品推荐

