LASSIC Media らしくメディア
HAProxyとNginxの違い|負荷分散での役割と選び方を解説
監修・編集責任者:牛尾 昭昌(株式会社LASSIC 執行役員)

この記事の結論
- HAProxyは負荷分散と中継に絞った無料のソフトウェアで、ファイルを配るWebサーバーの役目は持ちません。
- Nginxは負荷分散もできるWebサーバーで、2つを組み合わせて入口と配信を分ける構成もとれます。
- 選ぶときは、死活確認の中身と入口の二重化、版の更新を誰が受け持つかを先に決めておくことが大切です。
※ 本記事は2026年10月時点の公式情報(省庁・公的機関、および製品やサービスを提供する事業者が公開している資料)に基づきます。
アクセスが増えてきたのでWebサーバーを複数台に増やしたい。その前に置く負荷分散の仕組みとして、HAProxyとNginxのどちらを使えばよいのか分からない——。Webシステムの構成を見直す情報システムの担当者には、こうした迷いがよくあります。HAProxy(エイチエープロキシー)は、利用者からの通信を受けて複数のサーバーに振り分ける、負荷分散に特化したオープンソースのソフトウェアです。
Nginx(エンジンエックス)もWebサーバーとして広く使われながら、負荷分散の機能を持っています。どちらも無料で使えますが、得意な役割は同じではなく、片方だけで全部をまかなえるわけではありません。本記事では、Webシステムの構成を判断する情報システムの担当者に向けて、HAProxyの役割、Nginxとの違い、2つを組み合わせる構成、そして外部に頼むときに確認したい点を整理します。
HAProxyとは
HAProxyの公式サイトは、HAProxyを、TCPとHTTPを使うアプリケーションに高可用性(止まりにくさ)・負荷分散・中継を提供する、無料で高速なリバースプロキシ(利用者とサーバーの間に立つ中継役)と説明しています。*1 公式の説明書が挙げる役割のうち、基本になるのは次の4つです。*2
- TCPの中継:利用者からの接続を受け、サーバーへの接続とつないで通信を流す
- HTTPの中継:Webのリクエストを受け取り、後ろのサーバーへ渡す
- 暗号化通信の終端:HTTPSの暗号をHAProxyでほどき、サーバーの負担を減らす
- サーバーの負荷分散:TCPなら接続ごとに、HTTPならリクエストごとに振り分け先を決める
一方で、説明書はHAProxyが静的なWebサーバーではないことも明記しています。*2 画像やHTMLのファイルを配る役目はApacheやNginxに任せ、その前にHAProxyを置く使い方が想定されています。ライセンスはGPLv2(配布するときは求めに応じてソースコードを渡す条件のライセンス)で、外部の部品向けのヘッダーファイルだけにLGPLが適用されます。*3
Nginxとの違い
Nginxは公式サイトで、HTTPのWebサーバー、リバースプロキシ、コンテンツのキャッシュ、ロードバランサー、TCP/UDPの中継、メールの中継をこなすソフトウェアと紹介されています。*4 Nginxは負荷分散もできる多機能なWebサーバーで、HAProxyは負荷分散と中継に絞った専用の道具です。

| 比べる点 | HAProxy | Nginx |
|---|---|---|
| 主な役割 | 負荷分散と中継(TCP・HTTP) | Webサーバー(中継と負荷分散もこなす) |
| 画像やHTMLのファイル配信 | しない(Webサーバーの前に置く) | する |
| 振り分けの方式 | 10種類以上(順番に回す・接続数の少ない順・接続元のアドレス・URLなど) | 順番に回す・接続数の少ない順・接続元のIPアドレスなど |
| サーバーの死活確認 | 確認の通信を定期的に送る | 無償版は実際の通信の失敗で判断 |
| ライセンス | GPLv2(一部LGPL) | 2条項BSDライセンス |
表のうち、構成を決めるときに効いてくるのは死活確認です。Nginxの無償版は、サーバーへの通信が失敗したときにそのサーバーをしばらく外す受け身の確認で、アプリケーションの死活確認や稼働状況の監視は有償のNGINX Plusの機能として案内されています。*5 HAProxyは、接続できるかどうか、HTTPのリクエストへの応答、データベースへの問い合わせなどから確認の方法を選べます。*2
2つを組み合わせる構成
HAProxyとNginxは、片方を選んで終わりではなく、組み合わせて使う構成もあります。HAProxyの説明書は、どちらもCPUをあまり使わない作りなので同じサーバーに両方を入れやすいと述べ、Nginxの前にHAProxyを置く使い方を紹介しています。*2
- HAProxy:入口でHTTPSの暗号をほどき、応答のあるNginxにだけ振り分ける
- Nginx:画像などのファイルを返し、アプリのサーバーへの中継を受け持つ
- 入口の二重化:HAProxyを2台用意し、keepalived(仮想のIPアドレスを引き継ぐ仕組み)で切り替える
HAProxyを1台だけ置くと、そこが止まったときにすべての通信が止まるため、入口も2台にしておきます。また、利用者の接続元の情報を後ろへ渡すPROXYプロトコルにNginxも対応しているため、アプリの側で利用者のアドレスを記録できます。負荷分散がそもそも何を解決するのかはロードバランサの仕組みと方式で扱っています。
どちらを使うかの決め方
HAProxyを入れるかどうかは、製品の評判ではなく、いまの構成で何に困っているかから決めると迷いません。次の4つの段階で確かめていきます。
- ステップ1:振り分けたいサーバーの台数と、通信の種類(Webか、それ以外のTCPか)を書き出す
- ステップ2:Webサーバーが数台で、ファイルの配信も同じ場所でしたいなら、Nginxの負荷分散から始める
- ステップ3:サーバーの死活を定期的に確かめたい、振り分けの状態を画面で見たいなら、HAProxyを前に置く
- ステップ4:入口が止まると業務が止まるなら、入口の2台構成と切り替えの試験まで計画に入れる
HAProxyには認証つきの統計画面があり、サーバーごとの状態やエラーの原因を一覧で確かめられます。*2 クラウドを使っている場合は、クラウド事業者のロードバランサーも選択肢になります。コンテナの増減に合わせて振り分け先を自動で変えたい場合はTraefikでリバースプロキシを構築も参考になります。
外部に頼むときに確認しておきたい点
HAProxyもNginxもライセンス費用はかかりませんが、設定と保守は自社で持つことになります。構築や運用を外部に頼むときは、次の点を見積もりの前に確かめておきます。

- 版の選び方:偶数の版はLTS(長期サポート版)として5年間保守されます*1。どの版を使い、更新を誰がいつ行うか
- 入口の二重化:HAProxyを2台にするか。切り替えの試験をいつ、どう行うか
- 死活確認の中身:接続できるかだけを見るか、アプリの応答まで確かめるか
- 証明書の更新:HTTPSの証明書をどこに置き、期限切れを誰が見張るか
- 運用後の見直し:統計画面やログを見て、振り分けの方式や台数を直す場を設けるか
特に死活確認は、何を確かめるかで効き目が変わります。説明書は、pingによる確認ではWebサーバーが止まって待ち受けをやめても気づけない例を挙げ、確認は想定する故障に合ったものにするよう求めています。*2 頼む範囲には、構築だけでなく、この確認の中身と切り替えの試験まで含めておきます。
まとめ:HAProxyで確かめておきたい3つの点
HAProxyとNginxのどちらを使うかを決めるうえで、確かめておきたい点は3つに整理できます。第一に、HAProxyは振り分けの専用の道具で、ファイルの配信はNginxなどのWebサーバーに任せること。第二に、サーバーの死活を定期的に確かめたいかどうかで、HAProxyを前に置くかを決めること。第三に、入口を2台にするか、版の更新を誰が受け持つかを、構築の前に決めることです。この3点を踏まえておけば、「負荷分散を入れたのに、入口が止まってサイト全体が見られない」という事態を避けやすくなります。構成や運用の分担に迷いがあれば、外部の手を借りるのも一つの選択肢です。
よくある質問
HAProxyは無料で使えますか
使えます。本体はGPLv2のオープンソースで、ソフトウェアの利用料はかかりません。*3 サーバーの費用と設定・更新の手間は自社で持ちます。
HAProxyだけでWebサイトを公開できますか
HAProxyだけでは公開できません。HAProxyは静的なWebサーバーではなく、画像やHTMLのファイルを配ることができないためです。*2 後ろにNginxやApacheなどのWebサーバー、またはアプリのサーバーを置き、HAProxyはその前で振り分けを受け持ちます。
同じ利用者を同じサーバーに送り続けることはできますか
どちらでもできます。Nginxは利用者のIPアドレスから振り分け先を決める方式を持ち、そのサーバーが止まっているときを除いて同じサーバーへ送ります。*5 HAProxyも、接続元のアドレスやCookieを手がかりに同じサーバーへ送り続けられます。
負荷分散の構成づくりのご相談
HAProxyやNginxを使った負荷分散の設計から、入口の二重化、版の更新と監視の運用まで、元請(プライムベンダー)としてご提案します。
2006年の創業以来、一次請けのシステムインテグレーターとして、企業のシステム開発と保守・運用を受託してきました。
出典
- *1 参考:HAProxy「The Reliable, High Performance TCP/HTTP Load Balancer」公式サイト(https://www.haproxy.org/)。出典:製品の説明(無料で高速なリバースプロキシ・高可用性・負荷分散)、版の系統と保守期間(偶数の版はLTSとして5年)、同じ系統の最新版にそろえる重要性の記述を参照(2026年10月確認)
- *2 参考:HAProxy Documentation「Starter Guide(intro)」version 3.2(https://docs.haproxy.org/3.2/intro.html)。出典:3.1節(HAProxyにできること・できないこと)、3.3節(死活確認・高可用性・負荷分散・同じサーバーへの振り分け・統計画面)、3.7節(ライセンス)、4.2節(NGINXとの組み合わせ)を参照(2026年10月確認)
- *3 参考:haproxy/haproxy(GitHub)LICENSE(https://github.com/haproxy/haproxy/blob/master/LICENSE)。出典:本体はGPL、外部の部品向けのヘッダーファイルはLGPLとする記述を参照(2026年10月確認)
- *4 参考:nginx.org「nginx」公式サイト(https://nginx.org/en/)。出典:nginxの役割(HTTPのWebサーバー・リバースプロキシ・ロードバランサー・TCP/UDPの中継など)と2条項BSDライセンスの記述を参照(2026年10月確認)
- *5 参考:nginx documentation「Using nginx as HTTP load balancer」(https://nginx.org/en/docs/http/load_balancing.html)。出典:振り分けの方式(round-robin・least-connected・ip-hash)、受け身の死活確認、有償版NGINX Plusで提供される機能の記述を参照(2026年10月確認)