0

着信要求のプロキシを実行する前に、haproxy または squid に (bash) スクリプト (または別の http 要求) を実行させる方法はありますか?

userX.mydomain.com で userX 固有の http サーバー (およびサービス) をホストしたいのですが、ホストしているマシンの負荷に応じて、これらの種類のサービスが実行されているかどうかが決まります。

そのため、userX が userX.mydomain.com という URL にアクセスする 1 日の最初の時間に、serviceX をホストする http サーバーを開始する必要があります。

haproxy、xinetd、いくつかのbashスクリプト、および「HTTP Refreshヘッダーディレクティブ」のおかげで、httpサーバー/サービスの開始後に更新を実行できました..

しかし今は、GET、PUT、または POST を要求するクライアントに対して「http サービスの開始」を透過的にし、すぐに正しく応答し、最初の http リクエスト。

そのため、サービスを開始してから、開始したばかりのサービスにリクエストをすぐにプロキシする必要があります。

私はすでにhaproxyで「http-check」および「check」オプションを試していますが、ヘルスチェックはhaproxyのリクエスト処理と非同期であるため、それらが役立つとは思いません。代わりに、リクエストごとにこのスクリプトを実行する必要があり、haproxy がリクエストをプロキシする前に..

squid がこの種のアクションの実行を許可する場合、haproxy にリクエストを squid にプロキシさせることもできます。これにより、サービスを開始してリクエストをプロキシすることができます。

誰かがそれを達成するためのアイデアを持っていますか?

前もって感謝します。

4

1 に答える 1

0

これはproxymachineを使用して行うことができます-https ://github.com/mojombo/proxymachine

基本的に、proxymachineはHTTPリクエストをインターセプトし、ヘッダーを解析し、任意のRubyコードを実行してから、接続を転送できます。

proxymachineが接続を取得する前にSSLを終了する必要があります-たとえば、haproxyを使用します(新しいSSL機能を使用)。

于 2012-11-27T11:59:37.553 に答える