摘要
Gitlab运行在Nginx反向代理之后,Gitlab本身不再自身提供https访问了。本文介绍如何给Docker中的Gitlab禁用SSL。
来自阿里通义的回答,亲测可用
我的Gitlab版本是17.0.0。
要让GitLab只监听HTTP端口,你需要调整GitLab的配置以禁用HTTPS并仅使用HTTP。这通常涉及到修改GitLab的web服务器配置,因为GitLab Omnibus版默认使用Nginx作为其web服务器。以下是基本步骤,假设你使用的是GitLab Omnibus包安装:
1. 备份配置文件:在进行任何更改之前,请确保备份相关的配置文件,以防万一需要恢复。
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.backup
2. 编辑GitLab配置文件:使用文本编辑器编辑GitLab的配置文件。
sudo nano /etc/gitlab/gitlab.rb
3. 禁用HTTPS并配置HTTP端口:在配置文件中,你需要注释或移除与HTTPS相关的配置,并确保HTTP配置正确。以下是如何进行的示例:
• 注释或移除HTTPS相关的设置,例如:
nginx['listen_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
• 确保HTTP监听配置正确,如果不显式设置,默认情况下Nginx应该已经监听80端口。如果需要更改HTTP端口,可以设置:
nginx['listen_port'] = 8080 # 例子中改为8080端口,根据需要自行设定
4. 应用配置更改并重载GitLab:
sudo gitlab-ctl reconfigure
5. 验证更改:配置更改后,检查GitLab是否只监听HTTP端口,你可以使用netstat命令或者访问GitLab的HTTP地址来验证。
请注意,仅使用HTTP可能会导致数据传输不安全,因为通信不会被加密,这在生产环境中是不推荐的,特别是当敏感信息可能通过GitLab传输时。但如果你在内部网络或者测试环境中使用,并且清楚其中的风险,这是可行的。
黑夜里不停折腾的代码行者。