![Habilitando SSL para resultados do GitLab em ERR_CONNECTION_REFUSED](https://rvso.com/image/697037/Habilitando%20SSL%20para%20resultados%20do%20GitLab%20em%20ERR_CONNECTION_REFUSED.png)
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 reconfigure
e 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 443
linha (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;
...
}