Включение SSL для GitLab приводит к ошибке ERR_CONNECTION_REFUSED

Включение SSL для GitLab приводит к ошибке 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, и в конце получил сообщение об успешном выполнении. Однако, перейдя по URL-адресу GitLab, я получаю ERR_CONNECTION_REFUSED. Когда я закомментировал все строки выше и запустил gitlab-ctl reconfigure, все вернулось в норму на HTTP-порту 80.

Что может заставить nginx отклонять соединения, когда я передаю файлу конфигурации два сертификата и корректирую URL? Спасибо!

решение1

Похоже, что GitLab не слушает 443. Перенаправление на 80 отправляет вас на 443, где вы получаете Connection Refused. В конфигурации должна быть строка 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;
    ...
}

Связанный контент