【问题标题】:Add a reverse proxy to heroku向heroku添加反向代理
【发布时间】:2012-07-06 13:11:44
【问题描述】:
我有一个在 heroku 上运行的 rails 应用程序,例如 myapp.herokuapp.com。
现在我想从 myapp.heroku.com/proxy/ 反向代理到 somewhereelse.com/(即:myapp.heroku.com/proxy/stuff 被反向代理到 somewhereelse.com/stuff)
这在 Heroku 上可行吗?如何做到这一点?
【问题讨论】:
标签:
ruby-on-rails
heroku
reverse-proxy
【解决方案2】:
您无权访问前端路由基础设施,因此无法添加诸如基于 nginx 位置的反向代理或 apache 的 modproxy 之类的东西。根据我的理解,您也只能绑定到 dyno 中的一个端口($PORT),因此无法使用您自己的供应商版本的 nginx 来隐藏您的 Rails 应用程序(除非可以通过非 TCP/IP 套接字进行通信nginx 和你的 rack/rails 应用程序,如果是这种情况,那么也许你可以让 rack 监听 /tmp/mysocket.git 和 nginx 来反向代理,但这可能不是一个初学者,我只是抛出想法) .
如果您必须在 Rails 应用程序中自己处理这个问题,这意味着唯一可能的选择,我只有一点点 rails/ruby 经验,但如果 rails 中不存在代理功能,那么您也许可以明确接受路由,然后使用 http 客户端调用其他部分。