10

myapp.herokuapp.comなどのherokuでRailsアプリを実行しています。

ここで、プロキシをからにリバースプロキシしたいmyapp.heroku.com/proxy/somewhereelse.com/つまり、リバースプロキシはmyapp.heroku.com/proxy/stuffsomewhereelse.com/stuff)Herokuで可能ですか?これを達成する方法は?

4

2 に答える 2

10

検索でこの質問にたどり着いた人なら誰でも、これを行うことができます。

https://github.com/ryandotsmith/nginx-buildpackをチェックして、nginx を heroku インスタンスにベンダー化してください。これにより、nginx が Rails アプリの前に配置され、このドメインでプロキシ リクエストをリバースできるようになり、heroku アプリを apex として構成し、somethingelse.com/stuff を別の場所に移動できるようになります。

于 2015-01-05T22:00:15.083 に答える
0

フロントエンド ルーティング インフラストラクチャにアクセスできないため、nginx ロケーション ベースのリバース プロキシや apache の modproxy などを追加することはできません。私の理解では、dyno 内の 1 つのポート ($PORT) にしかバインドできないため、Rails アプリを独自のベンダー バージョンの nginx でシャドウすることはできません (非 TCP/IP ソケットを介して通信できる場合を除く)。 nginx とあなたの Rack/Rails アプリの場合、おそらく Rack に /tmp/mysocket.git をリッスンさせ、nginx をリバース プロキシにすることができます。 .

これは、Rails アプリでこれを自分で処理する必要がある場合に考えられる唯一のオプションを意味します。私は Rails/Ruby の経験がほんの少ししかありませんが、Rails にプロキシ機能が存在しない場合は、ルートを明示的に受け入れてからhttp クライアントを使用して他の部分を呼び出します。

于 2012-07-06T05:45:49.887 に答える