【问题标题】: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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-20
        • 2019-03-14
        • 2016-11-17
        • 1970-01-01
        相关资源
        最近更新 更多