gitlab 配https_记一次gitlab同时保留http和https的配置过程

随着企业安全等级意识提高的需求越来越强力,给gitlab私有仓库部署ssl证书的需求也越来越多,但是受限于一些git版本不支持https或者某些项目的特殊需求,要求gitlab同时保留http和https。

先说gitlab,我们知道gitlab原生自带nginx模块,gitlab启动的时候这个模块就会启动起来,占用了80端口(gitlab默认以http的方式访问),但是当我们修改成https访问的时候gitlab会自动把http的访问请求转到https,这样我们要求gitlab同时支持http和https的需求就无法直接完成,需要做一部分修改。这里有两种思路:

一:外面用nginx再做一层代理。这中实现方式稍显复杂,且两次层nginx转发可能会有冲突。

二:直接使用gitlab的nginx做相关操作,推荐形式:

1.在华为云官网申请ssl证书,并将下载的nginx证书放入您的指定目录。

2.修改gitlab配置文件

sudo vim /etc/gitlab/gitlab.rb

nginx['ssl_certificate'] = "/yourdir/****.pem"

nginx['ssl_certificate_key'] = "/yourdir/****.key"

3.重建配置

sudo gitlab-ctl reconfigure

此时,测试域名已开启https访问

4.拷贝一份新的gitlab的nginx配置文件,并修改http.conf中的端口和绑定server_name

sudo cp /var/opt/gitlab/nginx/conf/gitlab-http.conf  /var/opt/gitlab/nginx/conf/http.conf

5.修改/var/opt/gitlab/nginx/conf/nginx.conf文件

sudo vim /var/opt/gitlab/nginx/conf/nginx.conf

include /var/opt/gitlab/nginx/http.conf #添加这一行

6.重启nginx

sudo gitlab-ctl restart nginx

至此,配置完毕。因gitlab版本问题可能导致某些nginx启动失败,若配置过程遇到问题,可查看/var/log/gitlab/nginx/error.log。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gitlab.rb 是 GitLab 的主要配置文件,它位于 GitLab 安装目录下的 /etc/gitlab/ 目录下。该文件包含 GitLab 的所有配置选项,如 SMTP 邮件设置、LDAP 集成、备份和恢复、CI/CD 构建、Git 存储、GitLab Pages 等。下面是一些常用配置选项的详细说明: 1. 外部 URL 配置 external_url 'http://gitlab.example.com' 该选项配置 GitLab 的外部 URL,即 GitLab 的访问地址。例如,如果您的 GitLab 安装在 http://gitlab.example.com,那么您需要设置该选项为 'http://gitlab.example.com'。 2. SMTP 邮件设置 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "username@gmail.com" gitlab_rails['smtp_password'] = "password" gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true 该选项配置 GitLab 发送邮件的 SMTP 服务器和认证信息。其中,smtp_enable 选项用于启用 SMTP 邮件功能,smtp_address 和 smtp_port 选项用于设置 SMTP 服务器的地址和端口号,smtp_user_name 和 smtp_password 选项用于设置 SMTP 认证用户名和密码,smtp_domain 选项用于设置 SMTP 域名,smtp_authentication 选项用于设置 SMTP 认证方式,smtp_enable_starttls_auto 选项用于启用 STARTTLS 加密。 3. LDAP 集成 gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main: # 'main' 是您选择的标识符 label: 'LDAP' host: 'ldap.example.com' port: 389 uid: 'sAMAccountName' bind_dn: 'CN=gitlabuser,OU=Users,DC=example,DC=com' password: 'password' encryption: 'plain' # "plain" 或 "ssl" 或 "start_tls" verify_certificates: true active_directory: true allow_username_or_email_login: false lowercase_usernames: false EOS 该选项用于配置 GitLab 与 LDAP 目录集成。其中,ldap_enabled 选项用于启用 LDAP 集成,ldap_servers 选项用于配置 LDAP 服务器的连接参数,如 LDAP 服务器的地址、端口号、账号、密码、加密方式等。 4. 备份和恢复 gitlab_rails['backup_path'] = "/mnt/backups/gitlab" gitlab_rails['backup_archive_permissions'] = 0644 gitlab_rails['backup_keep_time'] = 604800 gitlab_rails['backup_upload_connection'] = { :provider => 'AWS', :region => 'us-east-1', :aws_access_key_id => 'AKIAKIAKIAKIAKIAKIA', :aws_secret_access_key => '1234554321', :bucket => 'gitlab-backups' } 该选项用于配置 GitLab 的备份和恢复功能。其中,backup_path 选项用于设置备份文件的存储路径,backup_archive_permissions 选项用于设置备份文件的文件权限,backup_keep_time 选项用于设置备份文件的保留时间,backup_upload_connection 选项用于设置备份文件的上传目标,如 Amazon S3 云存储等。 5. CI/CD 构建 gitlab_ci['builds_directory'] = "/mnt/builds" gitlab_ci['url'] = "http://gitlab.example.com/ci" 该选项用于配置 GitLab 的 CI/CD 构建功能。其中,builds_directory 选项用于设置构建文件的存储路径,url 选项用于设置 GitLab CI 的访问地址。 6. Git 存储 git_data_dir "/mnt/git-data" 该选项用于配置 Git 存储的路径。其中,git_data_dir 选项用于设置 Git 存储的根目录。 7. GitLab Pages pages_external_url "http://gitlab.example.com" gitlab_pages['access_control'] = true 该选项用于配置 GitLab Pages 功能。其中,pages_external_url 选项用于设置 GitLab Pages 的访问地址,access_control 选项用于启用 GitLab Pages 的访问控制和认证功能。 以上是 GitLab.rb 配置文件的常用选项,您可以根据需求进行配置。为了避免误操作,建议在修改配置文件之前备份原文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值