[GitLab]HTTPS(SSL/TLS)にする方法
仕事で、オンプレGitLabを運用していましたが、HTTPS化した方がいいねってことになって、ワイルドカード証明書でHTTPS化したので復習もかねてアウトプットします
目標
CentOS7上で運用しているGitLabをHTTPS(SSL/TLS)で通信できるようにする
構築環境
- CentOS7(gitlab.example.co.jp)
- GitLab 12.2.5
- ワイルドカード証明書(*.example.co.jp)
ファイル名 | 形式(エンコーディング) | 説明 |
---|---|---|
ca.crt | Base64(.pem) | 中間CA証明書 |
certs.crt | Base64 | GitLabサーバ証明書 |
certs.key | Base64 | GitLabサーバのRSA秘密鍵パスフェーズなし |
手順
$ mkdir /etc/gitlab/ssl/ $ cp ./certs.crt /etc/gitlab/ssl/gitlab.example.co.jp.crt $ cat ./ca.crt >> /etc/gitlab/ssl/gitlab.example.co.jp.crt $ cp ./certs.key /etc/gitlab/ssl/gitlab.example.co.jp.key $ cd /etc/gitlab/ssl/ $ chown root gitlab.example.co.jp.crt $ chown root gitlab.example.co.jp.key $ chmod 404 gitlab.example.co.jp.crt $ chmod 400 gitlab.example.co.jp.key
/etc/gitlab/gitlab.rb
を編集 10行目あたり
## GitLab URL external_url 'http://localhost' ↓ external_url 'https://gitlab.example.co.jp'
1000行目あたり
NGINXのセクション内のコメントアウトを解除します。
################################################################################ ## GitLab NGINX ##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html ################################################################################ # nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt" # nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key" ↓ nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
- GitLabの再構成および再起動
$ gitlab-ctl reconfigure $ gitlab-ctl restart
/var/log/gitlab/nginx/error.log
になにもでてなければいけてるはず