2011-06-29 27 views
1

我想在离我的域不到的子目录中运行rails应用程序(实际上是redmine)。有点像http://foobar.com/redmine。 Redmine作为一个独立的乘客实例运行,我想代理请求。apache proxying子目录到rails应用程序

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> 

,供应从公用文件夹罚款静态资产,但似乎并没有代理请求正确。 Apache日志:

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

回答

2

想通了。 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" 
相关问题