10

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

现在我想从 to 反向代理myapp.heroku.com/proxy/somewhereelse.com/即:myapp.heroku.com/proxy/stuff被反向代理到somewhereelse.com/stuff)这在 Heroku 上可能吗?如何做到这一点?

4

2 回答 2

10

对于通过搜索提出此问题的任何人,都可以这样做。

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

于 2015-01-05T22:00:15.083 回答
0

您无权访问前端路由基础设施,因此无法添加诸如基于 nginx 位置的反向代理或 apache 的 modproxy 之类的东西。根据我的理解,您也只能绑定到测功机中的一个端口($PORT),因此不可能使用您自己的供应商版本的 nginx 来隐藏您的 Rails 应用程序(除非可以通过非 TCP/IP 套接字进行通信nginx 和你的 rack/rails 应用程序,如果是这种情况,那么也许你可以让 rack 监听 /tmp/mysocket.git 和 nginx 在这个上反向代理,但这可能是一个没有开始的,我只是抛出想法) .

这意味着如果您必须在您的 rails 应用程序中自己处理这个问题,这是唯一可能的选择,我只有一点点 rails/ruby 经验,但是如果 rails 中不存在代理功能,那么您也许可以明确接受该路线然后使用 http 客户端调用其他部分。

于 2012-07-06T05:45:49.887 回答