Comment utiliser Let's Encrypt avec GitLab sous Plesk sur Subdomain?

J'ai mis GitLab en marche, mais actuellement il n'utilise pas SSL. J'utilise L'Extension crypt Plesk pour obtenir des certificats SSL gratuits en général. Voici à quoi ressemble ma configuration:

  • Plesk V12.5.30_build1205150826.19 os_Ubuntu 14.04
  • GitLab 8.8.5
  • chiffrons L'Extension Plesk v1.Sortie 1
  • Plesk sous-domaine: git.my-domain.com

Parallels Plesk panel Apache et nginx Paramètres pour git.my-domain.com:

Additional directives for HTTP :
<Location />
    ProxyPass http://IP-of-my-domain:9999/
    ProxyPassReverse http://IP-of-my-domain:9999/
</Location>
Additional directives for HTTPS :
<Location />
     ProxyPass https://IP-of-my-domain:9998/
     ProxyPassReverse https://IP-of-my-domain:9998/
  </Location>

dans mon gitlab.dossier rb:

external_url "http://IP-of-my-domain:9999/"

j'ai aussi trouvé comment utiliser let's encrypt avec gitlab? et essayé d'adapter les réponses, mais ne pouvait pas trouver quoi mettre dans:

nginx['custom_gitlab_server_config']="?"
nginx['custom_gitlab_mattermost_server_config']="?"

la connexion Http fonctionne parfaitement (sous-domaine ou IP:Port, les deux fonctionnent). Dès que je change en Https, il ne le fait pas et j'obtiens ce qui suit (aussi si je change external_url en port 9998):

Service Non Disponible

le serveur est temporairement incapable de répondre à votre demande en raison de problèmes de maintenance ou de capacité. S'il vous plaît essayer à nouveau plus tard.

de plus, une erreur d'indisponibilité du service 503 s'est produite lors de l'utilisation d'un ErrorDocument pour traiter la demande.

Le certificat

a été installé avant le ProxyPass et https fonctionnent sans aucun problème sans les entrées ProxyPass (c'est-à-dire que le certificat existe et est valide).

Si quelqu'un a Plesk et GitLab avec Let's Encrypt et en cours d'exécution, j'apprécierais vraiment si vous pouviez partager votre configuration.

1
demandé sur Eternal Black 2016-06-16 12:09:31

1 réponses

j'ai créé des liens symboliques dans / etc/gitlab/ssl pour mes certificats

  1. sous-domaine.domaine.TLD.crt = > / opt/psa/var/modules/letsencrypt/etc/archive / subdomain.domaine.tld / cert1.pem

  2. sous-domaine.domaine.TLD.key = > / opt/psa/var/modules/letsencrypt/etc/archive / subdomain.domaine.tld / privkey1.pem

Dans le fichier gitlab.rb

external_url 'https://gitlab.domain.tld'
gitlab_rails['gitlab_shell_ssh_port'] = 22 
gitlab_rails['initial_shared_runners_registration_token'] = "token"
web_server['external_users'] = ['webUser']
nginx['enable'] = false  # Tutorial
nginx['redirect_http_to_https'] = true      
nginx['listen_https'] = false

Dans parallels Plesk panel: Domaine => Apache et nginx Paramètres => Supplémentaires nginx directives

 location ~ / {
        # for omnibus installation
        root /opt/gitlab/embedded/service/gitlab-rails/public;
        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; # https://github.com/gitlabhq/gitlabhq/issues/694
        proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
        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 http://gitlab;

    }

Dans le fichier gitlab.conf

  upstream gitlab {
        # for omnibus installation
        server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;
    }
1
répondu fGeyer 2017-02-10 08:10:29