GitLab で SSL を有効にすると ERR_CONNECTION_REFUSED が発生する

GitLab で SSL を有効にすると ERR_CONNECTION_REFUSED が発生する

数か月間 GitLab をインストールしていましたが、そろそろ本物の SSL 証明書 (自己署名ではない) を追加する時期だと判断しました。

ドキュメントに従って、次の行を変更します。

external_url 'http://<domain>.com'

に:

external_url 'https://<domain>.com'

次の行のコメントを解除しました。

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] "/etc/gitlab/ssl/gitlab.key"

念のため、キーファイルを再度確認しました。

root@host:/etc/gitlab# cat /etc/gitlab/ssl/gitlab.crt
-----BEGIN CERTIFICATE-----
...

root@host:/etc/gitlab# cat /etc/gitlab/ssl/gitlab.key
-----BEGIN PRIVATE KEY-----
...

次に を実行しgitlab-ctl reconfigure、最後に成功メッセージを受け取りました。ただし、GitLab URL に移動すると が表示されますERR_CONNECTION_REFUSED。上記の行をすべてコメントアウトして を実行するとgitlab-ctl reconfigure、HTTP ポート 80 ですべてが正常に戻ります。

構成ファイルに 2 つの証明書を入力し、URL を調整すると、nginx が接続を拒否する原因は何でしょうか? ありがとうございます!

答え1

GitLabは443でリッスンしていないようです。80のリダイレクトは443に送られ、接続拒否が発生します。設定には次のlisten 443行が必要です(http://nginx.org/en/docs/http/configuring_https_servers.html) により、SSL リクエストを受信できるようになります。

ページからの例:

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}

関連情報