ことのほったん
常時SSL化の時流でSafariが「このWebサイトは安全ではありません」と警告する。
「ボクはわるいGitLabじゃないよ」と言いたいけどSafariは聞く耳を持たない。かなしい。
ひっそりこっそり使っているので正直わざわざSSL化する必要性はあまりなかったけど、1000円/年でドメイン認証型SSL証明書を発行してもらえると知った。
.jpドメインを管理しているJPRSが発行しているらしいので多少安心感がある。(さくらインターネッツのことはよく知らない)
ということでGitLabのコミュニティ版をDV型SSL化した話。
状況は1
- GitLab 10.6.4
- Apache 2.4.7
- JPRSのSSL証明書(をさくらインターネットで利用)
基本的な流れは
- opensslを使って.keyファイルと.csrファイルを作る
- さくらインターネットに申し込み[^CA]
- さくらイにSSL化したいドメインが自分のものだと示す
- CAから.crtファイルを受け取る
- 中間CA証明書をJPRSから拾ってくる(.pemファイル)
- 4と5で得た.crtと.pem、1で作った.keyをサーバの置いて認識させる
- Hello, 常時SSL\(^o^)/
1. opensslを使って.keyファイルと.csrファイルを作る
https://knowledge.digicert.com/ja/jp/solution/SO23384.html でも参考にして .keyファイルと .csrファイルを生成する。
2,3 さくらインターネットとあれこれ
さくらインターネットのページで、ドメイン認証型の申し込みページからアカウント作って支払いを済ませる。
「申請受け付けるよ」メールが来るので、メールにあるリンクから認識文字列の書かれた.txtファイルをダウンロードして、GitLabのドメイン下に置く。
4. CAから.crtファイルを受け取る
「JPRS SSLサーバ証明書発行のお知らせ」というメールが来るはずなので、そこにある「SSLサーバ証明書 ご利用開始までの手順」の通りにする。
5. JPRSのサイトから中間CA証明書を取得する
https://jprs.jp/pubcert/service/certificate/ から取得する。
6. ApacheとGitLabの設定
今回は、gitlab-ssl-apache24.conf を拾ってきて、
35 SSLCertificateFile /etc/httpd/ssl.crt/YOUR_SERVER_FQDN.crt
36 SSLCertificateKeyFile /etc/httpd/ssl.key/YOUR_SERVER_FQDN.key
37 SSLCACertificateFile /etc/httpd/ssl.crt/your-ca.cer
上の
35 に 4.で手に入れた.crtを指定
36 に 1.で作った.keyを指定
37 に 5.で拾ってきたJPRSの中間CA証明書を指定
external_url 'https://gitlab.hoge.jp/'
とhttpsを指定する。
参考
https://qiita.com/rocca0504/items/988cefb7bbc1b92d8118
https://docs.gitlab.com/omnibus/settings/ssl.html
-
元から別の独自ドメインを持っていてウェブサイトをApacheで垂れ流していたので、サブドメインにGitLabをリバースプロキシでアクセスさせていた。それは、gitlab-apache24.conf を拾ってきて適当に編集してApacheのconf-enabled/に入れて、適当なプラグインを有効にしてrestartさせればよかった。 ↩