2012-03-01 11 views
0

リクエストを正しいアプリケーションサーバーに転送するリバースプロキシを設定する必要があります。たとえば、2つのアプリケーションサーバーがバックグラウンドで実行されています。一方のサーバーはRailsを実行し、もう一方のサーバーはDjangoを実行します。リクエストがリバースプロキシに入力された場合、そのリクエストはRailsアプリケーションサーバーに送られます。 Railsアプリケーションサーバーがそのリクエストをサポートしていないためにそのリクエストを処理できない場合、Railsアプリケーションサーバーは404をリバースプロキシに返します。リバースプロキシはDjangoアプリケーションサーバーに要求を送ります正しいもの)。リバースプロキシの設定

このスタックの良い設定を知っている人、またはこのリバースプロキシの候補がありますか? Rubyに関連するものは良いものですが、そうする必要はありません。

答えて

2
server { 
    Location/{ 
     error_page 404 /django$request_uri; 

     rewrite ^/django_specific_url_1$ /django$request_uri? last; 
     rewrite ^/django_specific_url_2$ /django$request_uri? last; 
     ... 
     rewrite ^/django_specific_url_n$ /django$request_uri? last; 

     proxy_pass http://127.0.0.1:ruby_port; 
    } 

    Location /django { 
     internal; 
     proxy_pass http://127.0.0.1:django_port$request_uri; 
    } 
} 
+0

ありがとうございました。私は同じシナリオを使用して別の質問が追加条件が追加されている。特定のURLのセットと一致する場合、デフォルトでサーバー#2に要求を常に渡すように、どのように取得しますか?ありがとう! – RubyFanatic

+1

新しい質問に対処するために質問を修正しました。新しい条件を導入する項目をフォローしているときは、実際には新しい条件を作成する必要があります。 – Dayo

+0

ありがとうございました。かなり私が必要なもの! – RubyFanatic

関連する問題