OSS探訪

HAProxy — TCP/HTTP trafficを高性能に振り分けるload balancer・reverse proxy

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
6,863
主要言語
C
ライセンス
GPL-2.0-or-later
リポジトリ最終更新
2026/09/18

概要

HAProxyは、TCPおよびHTTP applicationの前段でtrafficを受け、複数backendへ振り分ける高性能load balancer/reverse proxyです。health check、TLS termination、ACLによるrouting、connection limitなどを設定し、高可用なapplication entry pointを構築できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

L4/L7で複数backendへtrafficを分散する

TCP connection単位のload balancingからHTTP header・path等を使うroutingまで、frontend/backend configurationとして定義できます。

出典:[2][4]

health check・TLS・ACLでentry pointを制御する

backend health check、TLS termination、ACL、timeout、connection制御などを組み合わせ、障害backendを外しながらtrafficを処理できます。

出典:[2][4]

高trafficなWeb/API・TCP serviceの前段を安定化したい場合に

複数application serverへの分散、active/standby構成、細かなtraffic ruleを低overheadで扱いたいserviceに向きます。

出典:[2]

設定検証とlicense構成を確認する

本番反映前にhaproxy -c -fでconfiguration syntaxを検証してください。README/LICENSEではcoreはGPL-2.0-or-later、exportable headerはLGPL-2.1-or-laterで、OpenSSL利用に追加exceptionがあると説明されています。

出典:[2][3]

参考にした公式資料

  1. [1]haproxy/haproxy repository mirror(2026-09-20)
  2. [2]HAProxy README(2026-09-20)
  3. [3]HAProxy license explanation(2026-09-20)
  4. [4]HAProxy documentation(2026-09-20)
編集部からの補足

NginxやEnvoyと比較されることが多いですが、HAProxyはTCP/HTTPのtraffic distributionとconnection handlingに強く、細かなACL・health check・backend制御を設定fileで組めます。coreはGPL-2.0-or-later、exportable headerはLGPL-2.1-or-laterで、OpenSSL利用には追加exceptionがあります。

3ステップで試す

  1. 1

    HAProxyを導入

    OS向けpackageを使ってHAProxyを導入します。

    https://github.com/haproxy/wiki/wiki/Packages
  2. 2

    最小configurationを作成して検証

    localhostだけを使うconfigurationを作り、まずsyntax checkを通します。

    printf 'global\n daemon\n\ndefaults\n mode http\n timeout connect 5s\n timeout client 30s\n timeout server 30s\n\nfrontend demo\n bind 127.0.0.1:8080\n default_backend local\n\nbackend local\n server app 127.0.0.1:8000\n' > haproxy.cfg && haproxy -c -f haproxy.cfg
  3. 3

    local backendへproxyする

    別terminalから http://127.0.0.1:8080 を開き、HAProxy経由でlocal backendへ到達することを確認します。

    python -m http.server 8000 & haproxy -f haproxy.cfg -db
公式READMEで確認

成長

成長の推移 · 直近30日

6,863 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
228
Open PR
0
Issue登録
75
Issue解決
66
PR登録
0
PRマージ
0

Issues

75 / 66

6月23日9月20日
Issue登録Issue解決

Pull Requests

0 / 0

6月23日9月20日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
22時間
Issue応答率
72.4% (42/58)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • haproxy
  • load-balancer
  • reverse-proxy
  • proxy
  • http
  • http2
  • cache
  • fastcgi
  • high-availability
  • https
  • ipv6
  • proxy-protocol
Stars
6,863
Forks
972
Watchers
117
Open Issues
376
Contributors
298
主要言語
C
ライセンス
GPL-2.0-or-later
リポジトリ最終更新
2026/09/18

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。