向heroku添加反向代理

我有一个在heroku上运行的rails应用程序,例如myapp.herokuapp.com。

现在我想将代理从myapp.heroku.com/proxy/反向到somewhereelse.com/ (即: myapp.heroku.com/proxy/stuff反向代理到somewhereelse.com/stuff有可能吗? 怎么做到这一点?

对于通过搜索来到这个问题的任何人,都可以做到这一点。

查看https://github.com/ryandotsmith/nginx-buildpack到供应商nginx到你的heroku实例。 这会将nginx放在rails应用程序的前面,并允许您在此域上反转代理请求,将heroku应用程序配置为顶点并允许somewhereelse.com/stuff转到其他位置。

您无法访问前端路由基础结构,因此无法添加类似基于nginx位置的反向代理或apache的modproxy。 根据我的理解,你只能绑定到dyno中的一个端口($ PORT),所以不可能用你自己的nginx出售版本来影响你的Rails应用程序(除非可以通过非TCP / IP套接字之间进行通信) nginx和你的机架/ rails应用程序,如果是这种情况,那么也许你可以让机架听取/tmp/mysocket.git和nginx来反向代理这个,这可能是一个没有首发,但我只是抛出想法) 。

这意味着唯一可能的选择,如果你必须自己在rails应用程序中处理它,我只有一点点rails / ruby​​经验,但如果rails中没有代理function那么你也许你可以明确接受路由然后使用http客户端来调用其他部分。