HAProxyは、その名前が示すように、高可用性を提供するためのプロキシサーバーおよびロードバランサーです。この記事では、最初に、FreeBSDにHAProxyをインストールする方法を示します。次に、リバースプロキシとして機能するように設定します。
インストール
FreeBSDでは、portsツリーからソフトウェアをビルドしてインストールするのが好きなので、rootとして実行します:
# cd /usr/ports/net/haproxy
# make install clean
一部のオプションダイアログがポップアップするかどうかの画面に注意してください(主に依存関係から)。インストール時に/etc/rc.confでHAProxyを有効にして、次のセクションに進みます:
# /usr/local/etc/rc.d/haproxy enable
haproxy enabled in /etc/rc.conf
構成
構成ファイルの編集に進む前に、シナリオについて説明します。
まず、使用可能なパブリックIPは1つだけです。次に、インターネット上で公開したいサービスがいくつかあります。たとえば、アプリ(webapp)とWebサイトです。どちらも独自のサーバーで実行されています。最後に、前のセクションですでにHAProxyをインストールした3番目のスペアサーバーがあります。これはインターネット上で公開されるサーバーになります。
ユーザーはブラウザでhttp:// haproxy / websiteまたはhttp:// haproxy / appを指定すると、haproxyはクエリを正しいサーバーに送信し、結果をブラウザに返します。
________ /------- [server A] [ client browser] -----> | haproxy |-----+ +----------+ \--------[server B]
とにかく、ウィキペディアはリバースプロキシがどのように機能するかをよりよく伝えています。
次のセクションを/usr/local/etc/haproxy.confに追加します。グローバルなデフォルト値を開始するには、次のようにします。
frontend http-in bind *:80 option forwardfor use_backend uno if { path_beg /app} use_backend dos if { path_beg /www } backend uno mode http server nodea ipAp.or.fqdn:port backend dos mode http server nodeb ipB.or.fqdn:port
私のように、haproxy.confの例がない場合は、このセクションをファイルの先頭に追加してください。
global daemon maxconn 4096 defaults log global mode http timeout connect 5s timeout client 10s timeout server 10s
この最小限の構成で、everytyhingに問題がないかどうかを確認し、サービスを開始できます。
テストの目的で、自分のPCから物を取得するためにhaproxyを作成しました。
私はApacheを持っており、他の人のPCを使用しているときに必要になる可能性のあるいくつかのプログラムを保存しています。魔法の言葉は、これらのプログラムの一部の完全なURLです。
いくつかの本物はどうですか HAProxyを使用しますか?
これは最小限の例ですが、ちなみにあまり役に立ちません。 HAProxyの少なくとも2つのドキュメントを読むことを強くお勧めします:
- スターターガイド、および
- 構成マニュアル
そして、あなたの haproxy.conf ファイルは必要に応じて複雑または単純になります。