概要
デフォルトでは gitlab は Let’sEncrypt から SSL 証明書を取得します
Let’sEncrypt ではなく自分ですでに証明書を持っている場合はそれを設定したほうが良い場合があります
今回は自己証明書を Gitlab に設定する方法を紹介します
環境
- GitLab Enterprise Edition 13.2.2-ee
証明書の準備
何でも OK です
今回は LetsEncrypt で取得した想定で進めます
LetsEncrypt での証明書の取得方法はこちらで紹介しています
gitlab.rb の編集
external_url
を設定している場合は Gitlab は自動で Let’sEncrypt に問い合わせて証明書を取得します
なのでそれを OFF にする必要があります
vim /etc/gitlab/gitlab.rb
letsencrypt['enable'] = false
また参照する証明書がデフォルトだと external_url
に設定した URL 名の証明書を見ることになっているのでそこも変更します
nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
証明書の配置
次に Gitlab 上の /etc/gitlab/ssl/
配下に取得した証明書を配置しましょう
中間証明書がある場合はそれらも配置します
ls -ltr /etc/gitlab/ssl/*.pem
total 8
-rw-r--r-- 1 root root 3558 Aug 27 09:06 fullchain.pem
-rw-r--r-- 1 root root 1704 Aug 27 09:06 privkey.pem`
LetsEncrypt の場合は上記の 2 つが取得できるのでそれらを配置しましょう
またここで配置した証明書やキーのパスが先程設定した gitlab.rb と同一か確認しておきましょう
reconfigure
あとは reconfigure をかけます
gitlab-ctl reconfigure
動作確認
これでサイトに確認するとちゃんと自分が設定した証明書になっていることが確認できると思います
502 になる場合は reconfigure 後に少し待ってからアクセスしてください
最後に
Gitlab でカスタム証明書を設定する方法を紹介しました
基本は LetsEncrypt で問題ないと思いますが EV 証明書などを使いたい場合はこの方法で設定しましょう
なお証明書が更新した場合は pem ファイルを入れ替えて reconfigure すれば OK です
0 件のコメント:
コメントを投稿