我们在后台服务器上部署了一个Rails应用程序,通过Passenger服务。 这个应用程序在端口9000服务,并被configuration为使用sub_uri 。 最初的URL是http://ip.address:9000/ ,现在它在http://ip.address:9000/app1 。 所有的CSS,JavaScript,图像文件都被加载,并且在应用程序中没有错误。
现在我们需要将这个应用程序整合到我们的生产环境中 上面的后端服务器不能直接访问; 所有应用程序都将通过Apache在前端服务器上进行代理。 使用ReverseProxy和Proxy ,可以通过http://domain.name/app1访问这个Rails应用程序。
我们用于PHP应用程序,内部应用程序的当前apacheconfiguration是:
ProxyPassReverse /app1 http ://ip.address:9000/app1 ProxyPass /app1 http ://ip.address:9000/app1 retry=5
应用程序有点负载,但有2个问题:
我不知道什么是configuration此设置的最佳方法。 在前端工作还是在后端做更多的configuration? 我应该删除sub_uri并执行前端服务器中的所有configuration吗? 我目前在Rails服务器上使用RailsBaseURI 。 阅读本网站后,还有其他选项,如PassengerEnabled , PassengerAppRoot 。
我该怎么办? 我对Ruby,Rails和Passenger很陌生,任何帮助都非常感谢。
您需要将以下内容添加到您的config/production.rb文件中,假设这与您的生产环境相关。
config.action_controller.relative_url_root = '/app1'
这是从1946年的Rails车票中拿走的