Axe DevTools Linterをプロキシで使用する

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Axe DevTools LinterをHTTPプロキシで動作させる方法

Free Trial
Not for use with personal data

Axe DevTools Linterは環境変数を通じてプロキシ設定をサポートし、リントリクエストを組織のプロキシインフラを通してルーティングできるようにします。

要件

Axe DevTools Linterでプロキシサポートを使用するために必要なもの:

  • ローカルまたは組織のサーバー上で稼働しているプロキシソフトウェア
  • プロキシのエンドポイント
  • プロキシの証明書機関(CA)証明書(マシンで承認するため)
important

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証明書へのパス
note

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_PROXY0に設定します。

important

認識される値は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 lint

Axe 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
tip

AXE_LINTER_USE_ENV_PROXY=0を設定しても、Node.jsバージョン24以降ではグローバルなリクエストディスパッチャによりリクエストはプロキシ経由でルーティングされます。特定のドメインのためにプロキシをバイパスするには、NO_PROXYを使用してください。

トラブルシューティング

証明書エラー

証明書関連のエラーが発生した場合は、次を確認してください。

  1. NODE_EXTRA_CA_CERTSパスは有効な証明書ファイルを指しています
  2. 証明書がPEM形式であること
  3. 証明書がプロキシのCAに一致していること

接続拒否

接続が拒否される場合は:

  1. プロキシエンドポイントが正しく、アクセス可能であることを確認してください。
  2. プロキシが稼働中であり、接続を受け入れる状態にあることを確認してください。
  3. 正しいプロトコル(HTTPまたはHTTPS)を使用していることを確認してください。

プロキシが使用されていない

リクエストがプロキシを経由していない場合:

  1. AXE_LINTER_USE_ENV_PROXYが設定されている場合、それが1以外の値になっていないことを確認してください。
  2. HTTPS_PROXY(オンプレミスの場合はHTTP_PROXY)が正しく設定されていることを確認してください。
  3. ターゲットホストやドメインがNO_PROXYにリストされていないことを確認してください。

関連情報