#1 Le 15/06/2018, à 08:29
- notezik
Gitlab : clone impossible via http(s) avec apache erreur 500 ou 503
Bonjour à toutes et tous,
J'ai posté mon problème sur le forum de gitlab, mais sans réponse. Alors, j'essaie ici.
Donc je n'arrive pas à cloner un projet via http. Ça semble être un problème commun mais aucune des solutions que je trouve ne fonctionne.
$ git clone https://gitlab.EXAMPLE.org/Maxime/nbodypy.git
Clonage dans 'nbodypy'...
fatal: unable to access 'https://gitlab.EXAMPLE.org/Maxime/nbodypy.git/': The requested URL returned error: 500
J'ai essayé les solutions que j'ai trouvé sur le web et en particulier ici mais sans succès.
Ma configuration
Apache `gitlab.conf`:
<VirtualHost *:80>
ServerName gitlab.EXAMPLE.org
ServerSignature Off
RewriteEngine On
RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule .* unix:/var/opt/gitlab/gitlab-workhorse/socket|http://gitlab.EXAMPLE.org%{REQUEST_URI} [P,QSA,NE] # i've tried both
RewriteCond %{SERVER_NAME} =gitlab.EXAMPLE.org
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443> SSLEngine on
#strong encryption ciphers only
#see ciphers(1) http://www.openssl.org/docs/apps/ciphers.html
SSLProtocol all -SSLv2
SSLHonorCipherOrder on
SSLCipherSuite "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"
Header add Strict-Transport-Security: "max-age=15768000;includeSubdomains"
SSLCompression Off
SSLEngine On
ServerName gitlab.EXAMPLE.org
ServerSignature Off
ProxyPreserveHost On
# Ensure that encoded slashes are not decoded but left in their encoded state.
# http://doc.gitlab.com/ce/api/projects.html#get-single-project
AllowEncodedSlashes NoDecode
<Location />
# New authorization commands for apache 2.4 and up
# http://httpd.apache.org/docs/2.4/upgrading.html#access
Require all granted
#Allow forwarding to gitlab-workhorse
ProxyPassReverse http://localhost:9191
ProxyPassReverse http://gitlab.EXAMPLE.org/
</Location>
# Apache equivalent of nginx try files
# http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
# http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
RewriteEngine on
#Forward all requests to gitlab-workhorse except existing files like error documents
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/uploads/.*
RewriteRule .* http://localhost:9099%{REQUEST_URI} [P,QSA,NE]
RequestHeader set X_FORWARDED_PROTO 'https'
RequestHeader set X-Forwarded-Ssl on
# needed for downloading attachments
DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public
#Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up.
ErrorDocument 404 /404.html
ErrorDocument 422 /422.html
ErrorDocument 500 /500.html
ErrorDocument 502 /502.html
ErrorDocument 503 /503.html
# It is assumed that the log directory is in /var/log/httpd.
# For Debian distributions you might want to change this to
# /var/log/apache2.
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
ErrorLog /var/log/apache2/gitlab_error.log
CustomLog /var/log/apache2/gitlab_forwarded.log common_forwarded
CustomLog /var/log/apache2/gitlab_access.log combined env=!dontlog
CustomLog /var/log/apache2/gitlab.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/EXAMPLE.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/EXAMPLE.org/privkey.pem
</VirtualHost>
gitlab.rb
external_url 'http://gitlab.EXAMPLE.org'
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_umask'] = 000
gitlab_workhorse['listen_addr'] = "localhost:9191"
gitlab_workhorse['dir'] = "/var/opt/gitlab/gitlab-workhorse"
user['username'] = "gitlab"
user['group'] = "gitlab"
unicorn['listen'] = 'localhost'
unicorn['port'] = 9099
web_server['external_users'] = ['www-data']#[]
web_server['username'] = 'apache' #'gitlab-www'
web_server['group'] = 'apache' #'gitlab-www'
nginx['enable'] = false
Comments
- J'ai un certificat fonctionnel généré par letsencrypt
- J'avais une installation gitolite avant donc j'ai changé l'utilisateur par défaut de GitLab (git) en l'utilisateur gitlab.
- Évidemment, chaque fois que j'ai modifié le gitlab.rb, j'ai exécuté
$ gitlab-ctl reconfigure
$ gitlab-ctl restart
- J'ai installé la distribution omnibus (gitlab-ee) sous Ubuntu 17.10 que je viens de passer en 18.04 (sans modifications de comportement, malgré la mise à jour de gitlab)
deb https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu/ bionic main
deb-src https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu/ bionic main
- Le clone en utilisant ssh fonctionne parfaitement.
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#2 Le 14/07/2018, à 11:24
- notezik
Re : Gitlab : clone impossible via http(s) avec apache erreur 500 ou 503
help ?
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#3 Le 14/07/2018, à 12:01
- krodelabestiole
Re : Gitlab : clone impossible via http(s) avec apache erreur 500 ou 503
https://doc.ubuntu-fr.org/apache2?redirect=1#erreur_500
Il s'agit d'une erreur fatale du serveur, qui peut être par exemple liée à une erreur de syntaxe dans un fichier .htaccess.
Consultez le log d'erreur de votre hôte virtuel pour en savoir plus.
À priori si apache se lance bien c'est qu'il n'y a pas d'erreur de syntaxe dans les fichiers de config.
vérifie quand même avec :
sudo apache2ctl -t
Après ta config est quand même particulièrement tordue (c'est indispensable le proxy ?)
jette surtout un oeil au log d'erreur d'apache : /var/log/apache2/error.log
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#4 Le 14/07/2018, à 13:10
- krodelabestiole
Re : Gitlab : clone impossible via http(s) avec apache erreur 500 ou 503
Après ta config est quand même particulièrement tordue (c'est indispensable le proxy ?)
ah ouais, gitlab ce est développé en ruby, donc j'imagine que oui si tu veux utiliser apache...
le gitlab.conf est tiré d'une doc officielle ?
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#5 Le 14/07/2018, à 13:14
- krodelabestiole
Re : Gitlab : clone impossible via http(s) avec apache erreur 500 ou 503
déjà tu peux essayer de cloner depuis ton serveur en local :
git clone http://localhost:9191/Maxime/nbodypy.git
si tu as aussi un problème c'est qu'il se situe au niveau de ruby / gitlab.
si pas de problème alors le soucis vient plus probablement de la config d'apache.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne