我想在我的域名下的子目录中运行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
答案 0 :(得分: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"