GitLab SSL配置后gitlab-http.conf被还原问题咨询
GitLab SSL配置问题解答
你的配置方式不正确,核心问题是直接修改gitlab-http.conf的操作无效——Omnibus版GitLab通过gitlab.rb统一管理所有组件配置,执行sudo gitlab-ctl reconfigure时,会根据gitlab.rb的内容重新生成nginx等组件的配置文件,直接修改生成的gitlab-http.conf会被覆盖。
正确的SSL配置步骤
- 编辑
/etc/gitlab/gitlab.rb,保留你已设置的external_url,同时添加SSL证书相关配置:external_url 'https://10.1.43.111:443/gitlab' # 指定SSL证书和密钥路径 nginx['ssl_certificate'] = "/var/opt/gitlab/nginx/conf/你的证书文件名.crt" nginx['ssl_certificate_key'] = "/var/opt/gitlab/nginx/conf/你的密钥文件名.key"注意:替换上述路径中的实际证书/密钥文件名,确保文件已放置在指定目录下。
- 确保证书文件权限正确,让GitLab的nginx进程能读取:
sudo chown gitlab-nginx:gitlab-nginx /var/opt/gitlab/nginx/conf/你的证书文件名.crt sudo chown gitlab-nginx:gitlab-nginx /var/opt/gitlab/nginx/conf/你的密钥文件名.key sudo chmod 600 /var/opt/gitlab/nginx/conf/你的密钥文件名.key - 保存
gitlab.rb后,执行重新配置命令:sudo gitlab-ctl reconfigure - 最后重启GitLab服务生效:
sudo gitlab-ctl restart
额外注意事项
- 如果需要添加自定义nginx配置(比如SSL协议、加密套件),不要直接修改
gitlab-http.conf,而是在gitlab.rb中使用nginx['custom_gitlab_server_config']参数追加配置,例如:nginx['custom_gitlab_server_config'] = " ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; " - 若
external_url中的端口是443(默认HTTPS端口),可以省略端口号,写成'https://10.1.43.111/gitlab'。
内容的提问来源于stack exchange,提问作者inayzi
相关产品推荐
相关产品推荐

