web-dev-qa-db-ja.com

HAProxy HTTPとTCP

HAProxyには、モードをTCPまたはHTTPに設定するオプションがあります。ポートを設定することもできます。

では、ポートも選択できるようにするのであれば、なぜHTTPとTCPのどちらかを選択できるようにするのでしょうか。確かにHTTPが必要な場合は、TCPとポート80を選択するだけでよいですか?

TCPとHTTPだけなのはなぜですか?HTTPがTCPではないことを意味しているようです。TCP、HTTP、SNMP、FTPなどがないのはなぜですか。

なぜHTTPとTCPだけなのか? HTTPがTCPである場合、これらのオプションのいずれかがあるのはなぜですか?非常に混乱しており、http以外のサービスの負荷分散に関する情報を見つけるのは非常に困難です。

17
marflar

HAProxy構成でHTTPメソッドを使用することにより、いくつかのHTTP固有のオプションにアクセスできます。たとえば、HTTPリクエストのURLに基​​づいて異なるバックエンドを選択できます。 TCPモードを指定すると、HAProxyはパケットのHTTPヘッダーを評価しません。

したがって、TCPをHTTPトラフィックに使用することはできますが、追加のHTTPオプションはありません。補足として、SSL機能を使用している場合を除き、 TCP HTTPSトラフィック用。パケットは暗号化されており、HAProxyはHTTPヘッダーを表示できないためです。

28
Paul Kroon

誰かがこれについてブログ投稿を書きました: http://www.linickx.com/645/load-balance-anything-with-haproxy

とにかく、なぜhaproxyを維持している人々が選択した構文を使用するのかはわかりません。誤解を招くので、あまり好きではありません(HTTPまたはTCP頭の中でねじ込みます)しかし、HAProxyで何でも負荷分散できることがわかり、それがHTTP(s)でない場合は、TCPと正しいポート番号。

6
marflar