2020年8月27日木曜日

Gitlab で自分で取得した証明書を設定する方法

概要

デフォルトでは 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 件のコメント:

コメントを投稿