unmask

docs

JA4 の取得、LB の設定、対応 distro、よくある質問。

動作確認済 (試験マトリクス)

このページはパッケージ install (nginx module) の対応表です。gateway コンテナは distro に依存しません。Docker Engine が動く Linux ならどれでも動くので (docker run だけで足り、Compose は任意)、以下の表はコンテナには当てはまりません。

release 前に、以下の各 distro で次の試験を通しています。nginx module での install → nginx -t pass → plugin load → daemon healthz=200 → challenge 配信 (http=403)、そして削除と再 install です。nginx 列は試験で動かした version で、注記が無いものは distro 自身のパッケージです:

distropackagenginx (試験 version)status
AlmaLinux 10 / Rocky 10 / RHEL 10rpm1.26.3verified
AlmaLinux 9 / Rocky 9 / RHEL 9rpm1.20.1verified
AlmaLinux 8 / Rocky 8 / RHEL 8rpm1.24.0 (AppStream nginx:1.24 stream)verified
CentOS 7 / RHEL 7 (EOL 2024-06)rpm1.20.1 (EPEL)verified
CentOS 6 / RHEL 6 (EOL 2020-11)rpm1.18.0 (nginx.org)verified
Debian 13deb1.26.3verified
Debian 12deb1.22.1verified
Ubuntu 26.04deb1.28.3verified
Ubuntu 24.04deb1.24.0verified
Ubuntu 22.04deb1.18.0verified
Alpine 3.xapk1.28.3 (Alpine 3.23)verified

AlmaLinux / Rocky / RHEL 8: 既定の nginx module stream (1.14) は --with-compat 無しでビルドされていて module を読み込めないため、試験では先に AppStream の nginx:1.24 stream に切り替えています (dnf module reset nginx のあと dnf module install nginx:1.24)。インストール手順でも同じ切り替えを案内しています。

同じパッケージ形式の distro (install を試せる)

rpm / deb / apk を使う派生 distro では install が通ることが多いものの、 CI には組み込めていないため動作は未確定です。動いた / 動かない両方の報告を歓迎します — issue tracker までどうぞ:

distroformat備考
openSUSE Leap / Tumbleweedrpmパッケージ系統は同じ。SELinux ではなく AppArmor 環境 (confinement は別途調整が必要かも)
FedorarpmRHEL 系統。SELinux postinstall (setsebool 自動) の対象
Linux MintdebUbuntu / Debian 派生
Pop!_OSdebUbuntu 派生
DevuandebDebian 派生 (systemd 非依存)。openrc / sysvinit 用 init script 同梱
Raspbian / Raspberry Pi OSdeb (arm64)64-bit OS なら arm64 パッケージで動作 (native plugin も arm64 同梱)

パッケージ未提供

以下は unmask のパッケージが無いため、パッケージ install は動きません。Docker が動く環境 (Arch、Gentoo、NixOS など) なら、gateway コンテナはこの制約を受けません:

環境理由
Arch Linuxpacman .pkg.tar.zst 形式。AUR パッケージを作っていない (contributor welcome)
Gentooportage ebuild。同上。
NixOSnix derivation。flake / nixpkgs での提供は将来の候補。
FreeBSD / OpenBSDpkg(8)。BSD の nginx ABI 向けに別途ビルドが必要。
macOS本番のサーバー OS ではないため対象外 (Linux コンテナでの開発は docker run で可能)。
Windows / WSLnginx の Windows 版は ABI が非互換です。WSL 内の Linux distro は対応 distro と同じ手順で動きます。

architecture

unmask は x86_64 (amd64) と aarch64 (arm64) の両方をサポートしています。各 distro のパッケージ (main / nginx plugin / web 統合) を両 arch 向けにビルドし、実機 (Ampere arm64) で nginx module + JA4 抽出まで検証済みです。