Netskope の SSL/TLS インスペクション機能 によって、特定ドメインへの通信時にNetskope独自のサーバ証明書が使われてしまい、外部通信が必要な処理でエラーが発生するケースが存在する。
今回は、Windows環境において、playwright のリポジトリ で npm ci
を実行したところ、依存関係の electron のインストールスクリプト実行時にエラーが発生した。
ポイントは以下2点
プロキシを利用する設定
-
Electron インストール時にプロキシを使うよう設定する。先人がいらっしゃった。感謝。
Proxy環境でElectronインストールしようとしたら隠れた罠があったんです次の2つの環境変数を設定すればよい。
export ELECTRON_GET_USE_PROXY=true export GLOBAL_AGENT_HTTPS_PROXY=http://proxy:port
OSの証明書ストアを使用する設定
- 前提:Netskope で利用する証明書がOSの証明書ストアにインストール(信頼)している
- Node 23.8.0 より、
--use-system-ca
オプションをつけて node を実行することで、システムの証明書ストアを使うようになる機能が追加された。
https://nodejs.org/ja/blog/release/v23.8.0#support-for-using-system-ca-certificates-store-on-macos-and-windows - node のオプションなので
npm ci
に直接渡すことはできない。そのためNODE_OPTIONS
環境変数を使ってオプションを有効化する。
NODE_OPTIONS=--use-system-ca npm ci
これで無事 playwright のリポジトリで npm ci
を実行し、依存関係の electron をインストールすることができた。