2011-06-29 30 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" 
相關問題