LoginSignup
4
2

Gitlab を StartSSLの証明書で HTTPS設定したこと

Last updated at Posted at 2016-11-24

概要

AWSのEC2で立てている Gitlabサーバーを、HTTPS設定しました。
設定を一行(むしろ、1文字)書き換えるだけの、超絶簡単設定かと思いきや、証明書でハマりました。

この記事では、StartSSLの証明書を利用していますが、認証局(StartCom)は 2016年10月に失効しています。

そのうち、Let's Encryptへの乗り換えについて投稿するかもしれません。

環境など

Amazon Linux AMI 2016.03
Gitlab 8.10.5

上手くいった手順

メールを受信できるようにする

証明書の発行のために、postmaster@server.domain.name.com みたいなメールを受信する必要があります。
EC2にメールサーバーを設定するとか、かなり面倒なので、SESを使います。
こちら参考に設定しました。

EC2のセキュリティグループ設定

HTTPS(Port 443)を許可します。

StartSSLで証明書を取得する

こちら参考に取得しました。

CSRの作成は、StartSSLの画面に案内されている通り opensslコマンドで行いました。

Domain Validation のメール送信から code入力までが 1分以内というのがかなりタイトです。
以下を1分以内にやらなきゃいけません。

  1. StartSSLの画面で送信
  2. S3からメールをダウンロード
  3. ダウンロードしたメールを開いて codeを探してコピー
  4. StartSSLの画面で、codeをペーストして、Validate

ま、失敗したらリトライすれば良いのですが。

証明書をGitlabサーバーに仕込む

秘密鍵

秘密鍵は Decryptする必要があります。
Gitlabのデフォルトに合わせてファイル名も変えておきます。

$ openssl rsa -in keyname.key -out keyname-decrypted.key
$ mv keyname-decrypted.key server.domain.name.com.key

公開鍵

公開鍵は、StartSSLからダウンロードして来た中の nginx用を使います。
NginxServer.zip を解凍した中に入っているファイルです。
これも、Gitlabのデフォルトに合わせてファイル名を変えます。

mv 1_server.domain.name.com.jp_bundle.crt server.domain.name.com.crt

Gitlabサーバーに置く

↑の 2ファイルを、Gitlabサーバーに転送し、/etc/gitlab/ssl/ へ保存します。

# cd /etc/gitlab
# mkdir /ssl
# chmod 700 ssl
# mv ~/server.domain.name.com.* /etc/gitlab/ssl
# cd ssl
# chmod 400 server.domain.name.com.key

設定変更して再起動

設定をhttpsに変更します

/etc/gitlab/gitlab.rb
external_url "https://gitlab.domain.name.com" 

「https」と書くだけで良きに計らってくれるとは、Gitlab賢いですね。

最後に、gitlab-ctlコマンドで再構築をします。
reconfigure後に、statusコマンドで確認します。
全てのサービスが起動していれば成功です!

# gitlab-ctl reconfigure
# gitlab-ctl status

はまったとこ

秘密鍵・公開鍵の形式

Decryptが必要なことや、公開鍵はどれを使えばいいのか判らず右往左往しました。
形式が違う鍵を入れていた場合、reconfigure後に nginxだけタイムアウトで落ちてしまいました。
こちらと同じかな?と試してみたら上手くいきました。

Thanks a lot!!

4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2