Watcherをプロキシで使用する

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 Developer Hubに送信する方法に関する情報

Not for use with personal data

HTTPプロキシは、組織がネットワークを通過するデータを監査することを可能にします。通常、環境変数を使用して設定されます。このドキュメントでは、Watcher(バージョン4.0.0以降)でプロキシサポートを設定する方法を詳しく説明します。

必須条件

プロキシサポートを使用するには、ローカルまたは組織のサーバーでプロキシソフトウェアを実行している必要があります。プロキシを使用するには、HTTPSエンドポイントとその証明書(コンピュータ上で承認するため)が必要です。

important

Dequeホスティングサーバーを使用する場合、HTTPSは唯一サポートされているプロトコルです。自己ホストの場合、HTTPを使用することができ、プロキシのHTTPエンドポイントも必要です。それはべきです同じドメインとポート(443)であるべきですが、念のため確認してください。

設定

Watcherのプロキシ設定はすべて環境変数を通じて行われます。これは2つのグループに分けられます。

「標準」プロキシ環境変数:

  • HTTPS_PROXY - HTTPSプロトコルを介して通信するために使用されるエンドポイント
  • HTTP_PROXY - HTTPプロトコルを介して通信するために使用されるエンドポイント
  • NO_PROXY - いかなるプロキシも通さずに通信するホスト名のカンマ区切りリスト

axe WatcherとNode.jsの環境変数:

  • AXE_WATCHER_USE_ENV_PROXY - プロキシサポートを変更するためにWatcherのみをターゲットとする
  • AXE_USE_ENV_PROXY - プロキシを利用するために、axeのあらゆるサポートする対象をターゲットとする
  • NODE_USE_ENV_PROXY - プロキシを使用してすべてのネットワークリクエストをオプトインするためのNode.jsのネイティブな方法(バージョン24以降のみ)
  • NODE_EXTRA_CA_CERTS - HTTPS接続に対し信頼されたCA証明書を提供するためのNode.jsのネイティブ変数

いずれかのAXE_*変数が1に設定されると、プロキシ使用が有効になります。NODE_USE_ENV_PROXYはプロセス全体でこれを有効にするためにNode.jsバージョン24で導入され、Watcherにバックポートされて全バージョンでサポートされました。

Node.jsのためにプロキシを有効にし、Watcherのために無効にするには、いずれかのAXE_*変数を0に設定することができます。

important

10のみが認識されます。これら以外の値はデフォルトでプロキシサポートを無効にします。

HTTPSでは、プロキシによって提供される認証局証明書をNODE_EXTRA_CA_CERTSで指定し、不信とされて接続が拒否されないようにしてください。この値は証明書ファイルへのパスです。

使用例

環境変数を設定する主な方法は2つあります:

  1. 処理を行うマシンまたはCIジョブに対して設定します。これにより、それらの寿命の間にグローバルに利用可能になります。
  2. 端末でコマンドの前に指定し、そのプロセスの寿命の間にのみ存在するようにします。

GitHub Actionワークフローファイルでプロキシ環境変数を設定する例:

# Setup of the workflow and jobs
      - steps:
      - name: Run Tests
        env:
          HTTPS_PROXY: https://localhost:9090
          NODE_EXTRA_CA_CERTS: ~/path/to/ca.pem
          AXE_WATCHER_USE_ENV_PROXY: 1
        run: npm run test

単一のコマンドを実行するためにローカルでプロキシ環境変数を使用する例:

AXE_WATCHER_USE_ENV_PROXY=1 HTTPS_PROXY=https://localhost:9090 NODE_EXTRA_CA_CERTS=~/path/to/ca.pem npm run test

Node.jsバージョン24以降の条件付きプロキシ

Node.jsバージョン24(またはそれ以降)では、NODE_USE_ENV_PROXYがデフォルトで全リクエストに対して有効になっているため、テストシナリオでWatcherのプロキシを条件付きで無効にしたい場合があります。

これはNO_PROXYを使用してシステムに、ドメインがプロキシをバイパスするよう指示することで達成できます。以下の例では、Node.jsが開始するすべてのリクエストにはプロキシを使用し、axe.deque.comexample.comをターゲットとするものには使用しないようにします。

NODE_USE_ENV_PROXY=1 HTTPS_PROXY=https://our.intranet/proxy NO_PROXY=axe.deque.com,example.com npm run test

NO_PROXYを使用する理由は、たとえaxe Watcherのプロキシ使用を無効にしようとしても、グローバルリクエストディスパッチャを継承するため、NODE_USE_ENV_PROXYが有効になっていると、プロキシを使用する優先順位がそのまま維持されるからです。