apache проксирование subdir к приложению rails - PullRequest
1 голос
/ 29 июня 2011

Я хотел бы запустить приложение rails (фактически, redmine) в подкаталоге моего домена.Что-то вроде http://foobar.com/redmine. Redmine работает как автономный пассажирский экземпляр, к которому я хотел бы прокси-запросы.

passenger start -a 127.0.0.1 -p 8000 -e production

Я могу подтвердить, что приложение работает, если я получаю к нему доступ локально изсервер.

lynx http://127.0.0.1:8000/

Теперь я не могу понять, как заставить Apache правильно обслуживать приложение.Это то, что у меня есть, но оно работает не совсем правильно:

Alias /redmine /home/redmine/www/redmine-1.2/public
<Directory /home/redmine/www/redmine-1.2/public>
  allow from all
  ProxyPass http://127.0.0.1:8000
  ProxyPassReverse http://127.0.0.1:8000
</Directory>

Он отлично обслуживает статические ресурсы из общей папки, но, похоже, не выполняет запросы прокси должным образом.Все возвращается 403. Журнал Apache:

client denied by server configuration: proxy:http://127.0.0.1:8000

1 Ответ

2 голосов
/ 29 июня 2011

Разобрался.Конфигурация Apache:

<Location /redmine>
  Order deny,allow
  Allow from all
  ProxyPass http://127.0.0.1:8000
  ProxyPassReverse http://127.0.0.1:8000
</Location>

Затем добавьте эту строку в config / environment.rb:

config.action_controller.relative_url_root = "/redmine"
...