Habilitando SSL para resultados do GitLab em ERR_CONNECTION_REFUSED

Habilitando SSL para resultados do GitLab em ERR_CONNECTION_REFUSED

Eu já tenho uma instalação do GitLab há alguns meses e decidi que era hora de adicionar um certificado SSL real (não autoassinado).

Seguindo a documentação, altero a seguinte linha:

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

para:

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

E descomentei as seguintes linhas:

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

E só para ter certeza, verifiquei novamente os arquivos principais:

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-----
...

Então corri gitlab-ctl reconfiguree recebi uma mensagem de sucesso no final. No entanto, navegando até a URL do GitLab, recebo um arquivo ERR_CONNECTION_REFUSED. Quando comento todas as linhas acima e executo gitlab-ctl reconfigure, tudo volta ao normal na porta HTTP 80.

O que pode fazer com que o nginx recuse conexões quando eu alimentei o arquivo de configuração com dois certificados e ajustei o URL? Obrigado!

Responder1

Parece que o GitLab não está escutando em 443. O redirecionamento em 80 envia você para 443, onde você obtém Conexão recusada. A configuração deve ter uma listen 443linha (vejahttp://nginx.org/en/docs/http/configurando_https_servers.html) que permite receber solicitações SSL.

Exemplo da página:

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;
    ...
}

informação relacionada