Gitlab com proxy do apache

2

Eu tenho um servidor apache2 em execução em uma máquina Mac OS X com a mesma máquina executando o Gitlab virtualmente no Ubuntu.

Mac IP: 192.168.0.7

Ubuntu (virtual) IP: 192.168.0.12

Eu gostaria que o apache fizesse o gitlab.mydomain.com para ir para a máquina virtual do Ubuntu enquanto anythingelse.mydomain.com fosse para o Mac.

Eu adicionei um arquivo (gitlab.mydomain.conf) a /private/etc/apache2/other/ (no Mac) com o seguinte conteúdo

<VirtualHost *:80>
  ServerName gitlab.mydomain.com
  ProxyPass / http://192.168.0.12
  ProxyPassReverse / http://192.168.0.12
  ProxyPreserveHost On

</VirtualHost>

O gitlab.yml no arquivo da máquina virtual do Ubuntu contém

##Gitlab settings
gitlab:
  ## Web server settings
  host: gitlab.mydomain.com
  port: 80
  https: false

Quando vou para gitlab.mydomain.com , recebo o seguinte erro:

Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /users/sign_in.

Reason: DNS lookup failure for: 192.168.0.12users

Mas se eu for para 192.168.0.12 , recebo a página de login do Gitlab.

Alguma idéia do que está errado?

    
por Isak T. 01.06.2013 / 17:25

2 respostas

2

tente

<VirtualHost *:80>
  ServerName gitlab.mydomain.com
  ProxyPass / http://192.168.0.12/
  ProxyPassReverse / http://192.168.0.12/
  ProxyPreserveHost On
</VirtualHost>

De documentos do ProxyPass mod_proxy

If the first argument ends with a trailing /, the second argument
should also end with a trailing / and vice versa. Otherwise the
resulting requests to the backend may miss some needed slashes and
do not deliver the expected results.
    
por 01.06.2013 / 18:47
1

Eu acho que você não pesquisou o suficiente.

  1. Você precisará editar o arquivo /home/gitlab/gitlab/config/unicorn.rb
  2. Encontre a linha de escuta "#{app_dir}/tmp/sockets/gitlab.socket" e comente. Uncomment line listen "192.168.0.12:80"
  3. Ativar o módulo do apache proxy com sudo a2enmod proxy
  4. Ativar o módulo do apache proxy_http com sudo a2enmod proxy_http
  5. Adicione isto ao seu host virtual

    <VirtualHost *:80>
    ServerName gitlab.mydomain.com
    
    # Custom log file locations
    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/
    <Location />
        ProxyPassReverse /
        Order deny,allow
        Allow from all
    </Location>
    

  6. Reinicie o gitlab & apache

  7. Divirta-se.

link

    
por 04.06.2013 / 21:31