Habilitar SSL para GitLab da como resultado ERR_CONNECTION_REFUSED

Habilitar SSL para GitLab da como resultado ERR_CONNECTION_REFUSED

Ya tenía una instalación de GitLab desde hace algunos meses y decidí que era hora de agregar un certificado SSL real (no autofirmado).

Siguiendo la documentación, cambio la siguiente línea:

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

a:

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

Y descomentó las siguientes líneas:

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

Y sólo para estar seguro, verifiqué dos veces los archivos clave:

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

Luego ejecuté gitlab-ctl reconfigurey recibí un mensaje exitoso al final. Sin embargo, al navegar a la URL de GitLab, aparece un archivo ERR_CONNECTION_REFUSED. Cuando comento todas las líneas anteriores y ejecuto gitlab-ctl reconfigure, todo vuelve a la normalidad en el puerto HTTP 80.

¿Qué podría causar que nginx rechace conexiones cuando le doy dos certificados al archivo de configuración y ajusto la URL? ¡Gracias!

Respuesta1

Parece que GitLab no está escuchando en 443. La redirección en 80 te envía a 443 donde obtienes Conexión rechazada. La configuración debe tener una listen 443línea (verhttp://nginx.org/en/docs/http/configuring_https_servers.html) que le permite recibir solicitudes SSL.

Ejemplo de la 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;
    ...
}

información relacionada