Я пытаюсь настроить прокси с Apache2, чтобы входящие запросы на http://myipaddress.comнаправлялись на http://localhost: 3000/
, где у меня работает Gitlab (приложение для рельсов). Вот что у меня есть в моем файле конфигурации Apache в Ubuntu 10.04. Сначала я могу успешно получить доступ к странице gitlab по умолчанию, но любые последующие запросы, выполненные мной путем нажатия на другие страницы после этого, переходят на страницу 404 NOT FOUND. Я могу вручную ввести /gitlab/ перед любым из этих неудачных перенаправлений, и они работают нормально.Как я могу заставить это работать без необходимости переписывать /gitlab/ после каждого запроса перенаправления после первоначального запроса?
## Setup a proxy which listens on the port that gitlabh does ( from start_server.sh )
ProxyRequests Off
ProxyPass /gitlab/ http://localhost:3000/
ProxyPassReverse /gitlab/ http://localhost:3000/
#DocumentRoot /home/gitlabhq/gitlabhq/public
<Proxy http://localhost:3000/>
Order deny,allow
Allow from all
</Proxy>
Я понимаю, что у меня мог бы быть приведенный ниже код, который решил бы мою проблему. Но я не знаю, как изменить префикс службы gitlab rails. Я был бы очень признателен за помощь!
ProxyPass /gitlab/ http://localhost:3000/gitlab/
ProxyPassReverse /gitlab/ http://localhost:3000/gitlab/
ОБНОВЛЕНИЕ:
Благодаря комментарию Фрика я очень близко подошел к решению этой проблемы. Ниже приведена часть моего файла http.conf. Единственная проблема заключается в том, что когда я нажимаю кнопку «Домой» или логотип в приложении gitlab, оно пытается перенаправить на gitlab/, что дает мне базовый файл index.html из Apache2, говорящий: «Это работает!». Как я могу настроить это, чтобы позволить мне просто получить / gitlab, и это приведет меня к корневому домашнему представлению gitlab ?? Спасибо!
## For Gitlab using Apache2 Passenger
## Install on Ubuntu by:
## sudo gem install passenger && sudo passenger-install-apache2-module
## but only after running the install_and_configure_git.py script
## and creating a soft link to the rails gitlab /public directory like so:
## sudo ln -s /home/gitlabhq/gitlabhq/public /var/www/gitlab
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/local/bin/ruby
<VirtualHost *:80>
ServerName gitlab
## Set the overall Document Root
DocumentRoot /var/www
<Directory /var/www>
Allow from all
</Directory>
## Set the Rails Base URI
RackBaseURI /gitlab
RailsBaseURI /gitlab
<Directory /var/www/gitlab>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>