2011-06-29 15 views
1

私のドメイン外のサブディレクトリに、実際には、レールアプリケーション(redmine)を実行したいと思います。何かがhttp://foobar.com/redmineのようなものです。 Redmineは、私がプロキシリクエストをしたいスタンドアロンの乗客インスタンスとして実行されています。apache proxying subdir to rails app

passenger start -a 127.0.0.1 -p 8000 -e production 

サーバーからローカルにアクセスするとアプリが実行されていることを確認できます。

ここで、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 

答えて

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"