Apsenger的Apache / Passenger反向代理无法正常工作

时间:2011-10-20 14:35:01

标签: ruby-on-rails-3 apache2 passenger ruby-on-rails-2

我想在同一台机器上运行rails 3和rails 2.3.8应用程序。我目前在我的rails 3应用程序中使用Ruby 1.9.2进行Passenger设置,并且可以正常使用Apache。我在Phusion网站上找到了以下内容,我正在尝试反向代理:

http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/

此应用的我的Apache vhost文件如下所示:

<VirtualHost *:80>
ServerName gtt
DocumentRoot /home/purvez/www/gtt/public
RailsEnv development
PassengerEnabled off
ProxyPass / http://127.0.0.1:3000
ProxyPassReverse / http://127.0.0.1:3000
</VirtualHost>

我可以使用乘客独立访问应用程序:

127.0.0.1:3000/start

但是当我尝试以下列方式访问它时:

http://gtt/start

我收到一条消息说:

没有路线匹配[GET]“/ start”

Apache'other_vhosts_access.log'会显示此条目:

testapp:80 127.0.0.1 - - [20/Oct/2011:15:27:58 +0100] "GET /start HTTP/1.1" 404 737 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"

你可以看到它试图调用testapp:80而不是gtt:80。我在/ etc / hosts文件中都有这两个,实际上gtt是在testapp之前!

我在这里做错了什么以及如何正确处理?

修改

我很尴尬!我没有在Ubuntu上启用该站点,因此它正在查看唯一可用的站点,即testapp。

但是,如果纠正了问题,我仍然会收到500错误。 'other_vhosts_access.log'条目显示:

gtt:80 127.0.0.1 - - [20/Oct/2011:18:07:30 +0100] "GET /start HTTP/1.1" 500 599 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"

这几乎就像没有发生Passenger Standalone的代理,并且Apache正试图自己启动。当然,passenger.3000.log(即独立的乘客日志)根本没有显示任何活动!

所以我做了一个巨大的错误并浪费了每个人的时间,最初我仍然在同一条船上,看起来代理人没有发生!!

有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

(代表作者提问)

解决!我启用了proxy_module,但我还需要启用proxy_http模块。这终于解决了这个问题。呼!!