Frage von domidodo, 31

Wie kann ich GitLab auf existierendem nginx-Server als Subdomain einrichten (502 Bad Gateway)?

Hallo alle zusammen.

Da wie in der Frage bereits geschrieben, würde ich GitLab gerne als Subdomain einrichten.

Dies habe ich zu /etc/nginx/nginx.conf hinzugefügt:

upstream gitlab {
   server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
 }
 server {
   listen 80;         # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
   server_name git.DOMAIN.com;     # e.g., server_name source.example.com;
   server_tokens off;     # don't show the version number, a security best practice
   root /home/git/gitlab/public;
 
   # individual nginx logs for this gitlab vhost
   access_log  /var/log/nginx/gitlab_access.log;
   error_log   /var/log/nginx/gitlab_error.log;
 
   location / {
     # serve static files from defined root folder;.
     # @gitlab is a named location for the upstream fallback, see below
     try_files $uri $uri/index.html $uri.html @gitlab;
   }
 
   # if a file, which is not found in the root folder is requested,
   # then the proxy pass the request to the upsteam (gitlab unicorn)
   location @gitlab {
     proxy_read_timeout 300; # <a href="https://github.com/gitlabhq/gitlabhq/issues/694">https://github.com/gitlabhq/gitlabhq/issues/694</a>
     proxy_connect_timeout 300; # <a href="https://github.com/gitlabhq/gitlabhq/issues/694">https://github.com/gitlabhq/gitlabhq/issues/694</a>
     proxy_redirect     off;
 
     proxy_set_header   X-Forwarded-Proto $scheme;
     proxy_set_header   Host              $http_host;
     proxy_set_header   X-Real-IP         $remote_addr;
 
     proxy_pass <a href="http://gitlab;">http://gitlab;</a>
   }
 }

Aber wenn ich auf die Subdomain gehe kommt "502 Bad Gateway". Ich schätze, dass aber nicht viel Fehlt um den Fehler zu beheben, da das GitLab-Logo im Tab angezeigt wird.

Aber wie behebe ich den Fehler?

Antwort
von z10r01, 16

Der HTML-Tag in der proxy_pass Zeile hat da auf jeden Fall nichts verloren. Muss einfach nur `proxy pass http://gitlab;` (hoffe das wird nicht automatisch in 'nen Link umgewandelt hier). Wenn's dann immer noch nicht geht, einfach mal 'nen Blick in die Error File werfen (/var/log/nginx/gitlab_error.log). Da sollte eigentlich stehen, aus welchem Grund sich der NGINX nicht zum Ziel verbinden kann. Nebenbei: Wenn du Gitlab nicht im lokalen Netzwerk sondern auf einem öffentlich zugänglichen Server benutzen willst, solltest du es unbedingt über Port "443 ssl" laufen lassen. Entsprechende Zertifikate bekommt man heutzutage bei Letsencrypt oder StartSSL ja kostenlos nachgeschmissen. Das unverschlüsselt laufen zu lassen ist aus meiner Sicht zumindest sehr sicherheitskritisch.

Kommentar von domidodo ,

Sehr gut 502 ist jetzt weg. Dafür ist der beliebte 404er jetzt da.
Das Verzeichnis "/home/git/gitlab/public" existiert bei mir auch garnicht. 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten