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.jsバージョン24で導入され、プロセス全体に対するプロキシサポートをグローバルに有効にします。Axe DevTools Linterは、すべてのNode.jsバージョンでこの変数が機能するようにバックポートによるサポートを実装しました。 NODE_USE_ENV_PROXY variable was introduced in Node.js version 24 to enable proxy support globally for a process. Axe DevTools Linter has back-ported support for this variable to work across all Node.js versions.
プロキシサポートの有効化
プロキシサポートを有効にするには、 AXE_* のいずれかの変数を設定します。 1Axe DevTools Linterのプロキシサポートを無効にし、Node.jsのプロキシサポートを維持するには、 AXE_LINTER_USE_ENV_PROXY または AXE_USE_ENV_PROXY を設定します。 0
認識されるのは値 1 (有効)と 0 (無効)のみです。他の値を設定するとプロキシサポートは無効になります。
HTTPS接続の場合、プロキシの証明書機関(CA)証明書へのパスを NODE_EXTRA_CA_CERTSで指定する必要があります。これがないと、接続は信頼されていないものとして拒否されます。
設定例
環境変数は、マシン全体や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 lintを設定しても、 AXE_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 の使用 オンプレミスサーバーのセキュリティ確保
