3 votos

Gitlab con proxy de apache

Tengo un servidor apache2 ejecutándose en una máquina Mac OS X con la misma máquina ejecutando Gitlab virtualmente en Ubuntu.

IP de Mac: 192.168.0.7

IP de Ubuntu (virtual): 192.168.0.12

Me gustaría que apache haga que gitlab.mydomain.com vaya a la máquina virtual de Ubuntu mientras que anythingelse.mydomain.com vaya a Mac.

Agregué un archivo (gitlab.mydomain.conf) a /private/etc/apache2/other/ (en Mac) con el siguiente contenido

  ServerName gitlab.mydomain.com
  ProxyPass / http://192.168.0.12
  ProxyPassReverse / http://192.168.0.12
  ProxyPreserveHost On

El archivo gitlab.yml en la máquina virtual de Ubuntu contiene:

##Configuraciones de Gitlab
gitlab:
  ## Configuraciones del servidor web
  host: gitlab.mydomain.com
  port: 80
  https: false

Cuando voy a gitlab.mydomain.com obtengo el siguiente error:

Error de Proxy

El servidor proxy recibió una respuesta no válida de un servidor ascendente.
El servidor proxy no pudo manejar la solicitud GET /users/sign_in.

Razón: Error de búsqueda de DNS para: 192.168.0.12users

Pero si voy a 192.168.0.12 obtengo la página de inicio de sesión de Gitlab.

¿Alguna idea de qué está mal?

4voto

kormoc Puntos 981

Intenta

   ServerName gitlab.mydomain.com
   ProxyPass / http://192.168.0.12/
   ProxyPassReverse / http://192.168.0.12/
   ProxyPreserveHost On

De mod_proxy ProxyPass docs

Si el primer argumento termina con una barra inclinada /, el segundo argumento
debe terminar también con una barra inclinada / y viceversa. De lo contrario, las
solicitudes resultantes al backend pueden perder algunas barras necesarias y
no entregar los resultados esperados.

0voto

tftd Puntos 614

Supongo que no has buscado lo suficiente.

  1. Necesitarás editar el archivo /home/gitlab/gitlab/config/unicorn.rb

  2. Encuentra la línea listen "#{app_dir}/tmp/sockets/gitlab.socket" y coméntala. Descomenta la línea listen "192.168.0.12:80"

  3. Activa el módulo de apache proxy con sudo a2enmod proxy

  4. Activa el módulo de apache proxy_http con sudo a2enmod proxy_http

  5. Agrega esto a tu host virtual

    ServerName gitlab.mydomain.com
    
    # Ubicaciones personalizadas de archivos de registro
    ErrorLog /var/log/apache2/gitlab_error.log
    CustomLog /var/log/apache2/gitlab_access.log combined
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.168.0.12/
    
        ProxyPassReverse /
        Order deny,allow
        Allow from all
  6. Reinicia gitlab & apache

  7. ¡Diviértete!

https://gist.github.com/steve-todorov/4758707

0voto

moberme Puntos 111

Para cualquier persona que venga de Google, esto es lo que funcionó en Ubuntu 18.04, apache 2.4.2 y Gitlab enterprise edition 12.8.5. Seguí el siguiente enlace using-a-non-bundled-web-server

Me salté el paso 3 ya que mi apache estaba en el mismo servidor y descargué el vhost correcto del Paso 5 para Apache 2.4.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X