問題タブ [haproxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - プロキシの背後にあるセキュアなフォーム認証
Stunnel (SSL を削除するため) と HAProxy をロード バランサーで使用し、HTTP 経由で IIS に要求を送信します。
私たちが抱えている問題は、サイト (ASP.NET) が安全な方法で Cookie を設定すること、つまり、requireSSL 属性を true に設定することです。
この属性を設定してサイトに HTTPS リクエストを送信すると、次のエラーが発生します。
リクエストがロードバランサーから SSL 経由で送信された場合、ウェブサーバーを信頼できますか? それとも、私たちのサイトには SSL 経由でしかアクセスできない (443 のみが開いている) ため、これは問題ではありませんか?
load-balancing - 負荷分散 (HAProxy またはその他) - スティッキー セッション
アプリを複数のサーバーにスケールアウトする作業を行っています。1 つの要件は、クライアントが常に同じサーバーと通信していることです (サーバー間で効率的にバウンスできるようにするには、ライブ データが多すぎます)。
私の現在のセットアップは小さなサーバー クラスターです (Linode を使用)。IPが常に同じノードを指すように、「バランスソース」を使用してHAProxyを実行しているフロントエンドノードがあります。
「バランス ソース」があまり均等に分布していないことに気付きました。現在のテスト セットアップ (バックエンド サーバー 2 台) では、80 ~ 100 のソース IP のサンプル サイズを使用すると、1 台のサーバーの接続数が 3 ~ 4 倍になることがよくあります。
よりバランスの取れた配布を実現する方法はありますか? 粘着性のあるセッションでは「完璧な」バランスが取れないことは明らかですが、25/75 の分割よりも 40/60 の分割の方が好ましいでしょう。
php - 3 台のサーバーを使用した PHP Web アプリケーションの負荷分散
2 つの Web サーバーと、リバース プロキシまたはロード バランサーとして使用するための 1 つのサーバーがあります。2 つの Web サーバーには、実際の / パブリック IP とロード バランサーがあります。Web アプリケーションに最適なオプションを決定していないため、ロード バランサ サーバーはまだ構成されていません。「単一障害点」のため、1 つのロード バランサーが危険であることは承知していますが、それを使用したいと考えています。
2 つの Web サーバーには、同じドメインと異なるサブドメインを持つ複数の PHP アプリケーション/仮想ホスト (Apache + fastcgi) が含まれています。それらはすべてセッション、Cookie を使用し、一部は SSL を必要とします。私の主な目標は、着信接続を純粋に半分に分割し、それらを 2 つの Web ノードに転送することです。また、1 つの Web ノードがオフラインになった場合、もう 1 つの Web ノードはすべての接続を受け入れる必要があります。また、必要に応じて、memcache を使用してセッションを共有できると思います。
Nginx、HaProxy、およびネット上で見つけられるその他のアプリケーションについて読みました。しかし、次の理由で決定できません。
1) ロード バランサーとして使用できるサーバーが 1 台ありますが、ネット上で見つけたすべての構成には 2 つのロード バランサー ノードが必要です。2) SSL 証明書を (ロード バランサーまたは Web ノードの) どこにインストールすればよいか、また HTTPS 接続を使用する場合に最適なソリューションがわかりません。
ヘルプ/アイデアが必要です。どうもありがとう。
amazon-ec2 - EC2インスタンスをHAProxyに自動的に参加させるためのベストプラクティスは何ですか?
EC2アーキテクチャをスケールアウトして、独自の負荷分散を管理したいところまで取り組んでいます。現在、基本的な負荷分散を行うためにHAProxyで構成された一連のマシンがありますが、新しいインスタンスをオンラインにして自動的に(またはほぼ自動的に)HAProxyに参加させる「ベストプラクティス」手段を探しています。
理想的には、システムの負荷を監視するか、数年分の分析データに基づいて大騒ぎのスケジュールを作成し、しきい値またはスケジュールされた時間に達したときに、プロセスに新しいインスタンスを起動させ、その新しいノードを作成しますHAProxyマシン上のシステムに接続して、そのホスト名を構成に書き込み、HAProxyをリロードしてプールの一部にします。
複数のゾーンカバレッジが必要になるほど大きくなった時点でAmazonのELBを検討していますが、それまでは、HAProxyからマシンを追加/削除できる簡単なセットアップが必要です。
このようなものを管理するために支払うことができるサービスがあることは知っていますが、Scalrは非常に特定のインスタンスタイプに制限しているようで、Rightscaleは高すぎるため、他の多くの場合と同様に、独自のソリューションを展開することを検討しています。
残念ながら、独自のソリューションを展開する人は、プロセスに少し戸惑うようです。
ruby - ラックベースの Web サービスのサービス提供と負荷分散?
アーキテクチャの一部として、アプリケーション間で共有する必要があるデータ アクセスに、内部専用の HTTP ベースの Web サービスを使用しています。現在、それらは Sinatra アプリとして実装されています。
各 Web サービス マシン (EC2 でホストされている) では、haproxy を使用してリクエストの負荷を分散し、それらを処理するためにシンを使用しています。
特に静的コンテンツがない場合に、これらのタイプのアプリケーションを提供するための現在の「ベストプラクティス」と見なされているものに興味があります。
このセットアップで nginx や unicorn を使用する利点はありますか? nginx と haproxy の両方を同時に使用することについていくつかの提案を見てきましたが、それがどのような価値をもたらすかはわかりません。
load-balancing - Haproxy:maxconnがヒットしたときにカスタムhttp応答を送信します
ロードバランサーがmaxconnにヒットした場合、Haproxyからカスタムhttp応答を送り返すことは可能ですか?
私の意図は、サーバーがビジーの場合に同等のビジートーン(503ではない)を送信することです。
drupal - Chrome と Firefox は、特定のサイトで自動的に https にリダイレクトします
nginx と php-fpm で動作する drupal サイトがあり、複数のサーバー間で haproxy のバランスをとっています。
http と https の 2 つのサービスを haproxy 用にセットアップしています。
http://subdomain.domain.comにアクセスすると、正常に動作します。https://subdomain.domain.com
にアクセスすると、問題なく動作します。その後、http に戻ると、https にリダイレクトされます。これは firefox と chrome で発生しますが、IE では発生しません。
https が存在することがわかっている場合、自動的に https にリダイレクトする設定はどこかにありますか? おそらく、安全なヘッダーが設定されている場合は?
LiveHTTPHeaders を見てみましたが、現時点では https の部分しか表示されていません。
Chromeで調べてみたところ、次のように書かれています:
リダイレクトを行っているようですが、理由はわかりません。
Wireshark でスニッフィングを試みましたが、SSL 復号化を機能させることができないため (キーを持っています)、意味がわかりませんでした。
tcp - プロキシを使用して TCP トラフィックを複製する
1 つのマシン (ポート) から 2 つの異なるマシン (ポート) にトラフィックを送信 (複製) する必要があります。TCP セッションも処理する必要があります。
最初はem-proxyを使用しましたが、オーバーヘッドがかなり大きいようです (CPU の 50% を超えます)。それから私はhaproxyをインストールし、トラフィックをリダイレクトすることができました(複製しないでください)。オーバーヘッドは妥当です (5% 未満)。
問題は、haproxy 構成ファイルで次のように言うことができなかった
ことです。
このための Em プロキシ コードは非常に単純ですが、EventMachine が多くのオーバーヘッドを生成するように思えます。
haproxy コードを掘り下げて変更 (トラフィックの複製) を試みる前に、似たようなものがあることを知りたいですか?
ありがとう。
tomcat - コンテキストを使用するように Tomcat で Haproxy を構成する
私はhaproxyの初心者で、非常に単純に見える何かを行う方法を理解しようとしています。Tomcat コンテキストをプロキシしたい。
例http://bobsautomotive.com:8080/HelloWorld
これが私のhaproxy設定です:
これで Tomcat のメイン ページにアクセスできます。しかし、次のようなコンテキストを使用するように変更しようとすると:
サーバー 1 tomcat.bobsautomotive.com:8009/han Cookie tomcat1 チェック
うまくいかない...
何か案は?ありがとう
php - ファイルへの変更をプログラムで強制的にすべての NFS クライアントに反映させることはできますか?
ページのリスト、ページナビゲーション構造、ページのコンテンツをディスク上のファイルに保存する PHP で構築された CMS があります。このアプリケーションは、haproxy サーバーの背後にある Apache/php-fpm サーバーのクラスターでホストされています。これらのサーバーは、中央のファイル サーバーから NFS 経由で Apache DocumentRoot ディレクトリをマウントするため、CMS から行われたすべての変更が NFS 共有上のファイルに書き込まれます。
このオプションを使用して NFS 共有をマウントしない限りnoac
、加えられた変更がクラスター内のすべてのサーバーに反映されるまでに最大 5 ~ 10 秒かかる場合があることがわかりました。つまり、複数の変更が立て続けに行われると、最終的な変更が以前の変更をまだ受け取っていないサーバーに送信される可能性があるため、最終的な変更によって以前の変更が上書きされることがあります。
ただし、noac
マウント オプションを使用すると、訪問者側のコンテンツへのアクセスに 2 ~ 5 秒の遅延が発生します。これはまったく受け入れられません。
NFS 共有上のファイルへの変更をプログラムで強制的にすべてのクライアントに反映させる方法、またはすべてのクライアントにそのファイルのキャッシュをフラッシュさせる方法はありますか?