Das Aktivieren von SSL für GitLab führt zu ERR_CONNECTION_REFUSED

Das Aktivieren von SSL für GitLab führt zu ERR_CONNECTION_REFUSED

Ich habe seit einigen Monaten eine bestehende GitLab-Installation und beschloss, dass es an der Zeit war, ein echtes SSL-Zertifikat (nicht selbstsigniert) hinzuzufügen.

Gemäß der Dokumentation ändere ich die folgende Zeile:

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

Zu:

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

Und kommentieren Sie die folgenden Zeilen aus:

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

Und um sicherzugehen, habe ich die Schlüsseldateien noch einmal überprüft:

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

Dann habe ich ausgeführt gitlab-ctl reconfigureund am Ende eine Erfolgsmeldung erhalten. Wenn ich jedoch zur GitLab-URL navigiere, erhalte ich eine ERR_CONNECTION_REFUSED. Wenn ich alle Zeilen oben auskommentiere und ausführe gitlab-ctl reconfigure, wird auf HTTP-Port 80 alles wieder normal.

Was könnte dazu führen, dass nginx Verbindungen ablehnt, wenn ich der Konfigurationsdatei zwei Zertifikate zuführe und die URL anpasse? Danke!

Antwort1

Es klingt, als würde GitLab auf 443 nicht zuhören. Die Umleitung auf 80 schickt Sie zu 443, wo Sie Connection Refused erhalten. Die Konfiguration sollte eine listen 443Zeile enthalten (siehehttp://nginx.org/en/docs/http/configuring_https_servers.html), das den Empfang von SSL-Anfragen ermöglicht.

Beispiel von der Seite:

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

verwandte Informationen