Axe DevTools Linterをプロキシで使用する
Axe DevTools LinterをHTTPプロキシで動作させる方法
Axe DevTools Linterは環境変数を通じてプロキシ設定をサポートし、リントリクエストを組織のプロキシインフラを通してルーティングできるようにします。
要件
Axe DevTools Linterでプロキシサポートを使用するために必要なもの:
- ローカルまたは組織のサーバー上で稼働しているプロキシソフトウェア
- プロキシのエンドポイント
- プロキシの証明書機関(CA)証明書(マシンで承認するため)
DequeがホストするSaaSサーバーを使用する場合、HTTPSが唯一サポートされるプロトコルです。オンプレミスインスタンスをセルフホスティングする場合、HTTPを使用でき、プロキシのHTTPエンドポイントを必要とします。HTTPエンドポイントは通常、HTTPSエンドポイントと同じホスト上にありますが、ポートは80であり、443ではありません。これについてはネットワーク管理者に確認してください。
環境変数
Axe DevTools Linterのプロキシ設定はすべて環境変数を通じて処理され、2つのカテゴリに分かれます。
標準プロキシ環境変数
| 変数 | 説明 |
|---|---|
HTTPS_PROXY |
HTTPSプロトコルリクエストに使用されるエンドポイント |
HTTP_PROXY |
HTTPプロトコルリクエストに使用されるエンドポイント |
NO_PROXY |
プロキシをバイパスすべきホスト名のカンマ区切りリスト |
Axe DevTools LinterとNode.jsの環境変数
| 変数 | 説明 |
|---|---|
AXE_LINTER_USE_ENV_PROXY |
Axe DevTools Linter専用のプロキシサポートを有効にする |
AXE_USE_ENV_PROXY |
この変数をサポートするすべてのDequeツールに対するプロキシサポートを有効にする |
NODE_USE_ENV_PROXY |
Node.jsネイティブプロキシサポート(バージョン24以降のみ) |
NODE_EXTRA_CA_CERTS |
HTTPS接続用の信頼されたCA証明書へのパス |
NODE_USE_ENV_PROXY変数は、プロセスのためのプロキシサポートをグローバルに有効にするために、Node.jsバージョン24で導入されました。Axe DevTools Linterは、この変数のサポートをすべてのNode.jsバージョンで動作するようにバックポートしました。
プロキシサポートの有効化
プロキシサポートを有効にするには、AXE_*変数のいずれかを1に設定します。Node.jsではプロキシサポートを維持しながら、Axe DevTools Linterでは無効にするには、AXE_LINTER_USE_ENV_PROXYまたはAXE_USE_ENV_PROXYを0に設定します。
認識される値は1(有効)と0(無効)のみです。それ以外の値を設定すると、プロキシサポートは無効になります。
HTTPS接続のためには、NODE_EXTRA_CA_CERTSを使用してプロキシの証明書認証局(CA)証明書のパスを指定する必要があります。これがないと、接続は信頼されていないとして拒否されます。
設定例
環境変数は、マシン全体やCIジョブに対してグローバルに設定するか、または単一のコマンドに対してインラインで設定することができます。
GitHub Actionsワークフロー
次の例はGitHub Actionsワークフローでプロキシ環境変数を設定する方法を示しています:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Axe DevTools Linter
env:
HTTPS_PROXY: https://localhost:9090
NODE_EXTRA_CA_CERTS: /path/to/ca.pem
AXE_LINTER_USE_ENV_PROXY: 1
run: npm run lintローカルコマンドライン
LinuxまたはmacOSで単一のコマンドに対してプロキシ変数を設定するには:
AXE_LINTER_USE_ENV_PROXY=1 HTTPS_PROXY=https://localhost:9090 NODE_EXTRA_CA_CERTS=/path/to/ca.pem npm run lintAxe DevTools Linter Connectorをプロキシで使用する
Axe DevTools Linter Connectorを使用する際は、コネクタを実行する前にプロキシ変数を設定してください。
export HTTPS_PROXY=https://proxy.example.com:9090
export NODE_EXTRA_CA_CERTS=/path/to/ca.pem
export AXE_LINTER_USE_ENV_PROXY=1
axe-linter-connector -s . -d . --api-key YOUR_API_KEY --url https://axe-linter.deque.com/特定ホストのプロキシバイパス
プロキシを通さずに直接アクセスが必要な特定のホストやドメインを指定するためにNO_PROXY環境変数を使用します。
NO_PROXY=internal.example.com,localhost axe-linter-connector -s . -d .Node.js 24以降
Node.jsバージョン24以降では、すべてのリクエストに対してNODE_USE_ENV_PROXYがデフォルトで有効になっています。Axe DevTools Linterでプロキシをバイパスし、他のリクエストでプロキシを有効にしておく必要がある場合は、NO_PROXY変数を使用します。
NODE_USE_ENV_PROXY=1 HTTPS_PROXY=https://our.intranet/proxy NO_PROXY=axe.deque.com,axe-linter.deque.com npm run lintAXE_LINTER_USE_ENV_PROXY=0を設定しても、Node.jsバージョン24以降ではグローバルなリクエストディスパッチャによりリクエストはプロキシ経由でルーティングされます。特定のドメインのためにプロキシをバイパスするには、NO_PROXYを使用してください。
トラブルシューティング
証明書エラー
証明書関連のエラーが発生した場合は、次を確認してください。
NODE_EXTRA_CA_CERTSパスは有効な証明書ファイルを指しています- 証明書がPEM形式であること
- 証明書がプロキシのCAに一致していること
接続拒否
接続が拒否される場合は:
- プロキシエンドポイントが正しく、アクセス可能であることを確認してください。
- プロキシが稼働中であり、接続を受け入れる状態にあることを確認してください。
- 正しいプロトコル(HTTPまたはHTTPS)を使用していることを確認してください。
プロキシが使用されていない
リクエストがプロキシを経由していない場合:
AXE_LINTER_USE_ENV_PROXYが設定されている場合、それが1以外の値になっていないことを確認してください。HTTPS_PROXY(オンプレミスの場合はHTTP_PROXY)が正しく設定されていることを確認してください。- ターゲットホストやドメインが
NO_PROXYにリストされていないことを確認してください。
関連情報
- コマンドラインリンティングオプションのためのAxe DevTools Linter Connector の使用
- セルフホスティングインストール用のオンプレミスサーバーのセットアップ
- オンプレミスサーバーを保護するためのリバースプロキシでのAxe DevTools Linter の使用
