Node.jsクイズ
Node.js 24でfetch()にプロキシ環境変数を反映させるための設定として正しいものはどれですか?
解説
Node.jsでは、NODE_USE_ENV_PROXY=1を有効にして起動すると、HTTP_PROXY、HTTPS_PROXY、NO_PROXYといった環境変数を起動時に解析し、組み込みのプロキシ機能を有効化します。Node.js 24系では、この設定によりグローバルのfetch()だけでなく、http.request()やhttps.request()などのHTTP通信にもプロキシ設定を反映できます。たとえばHTTPS通信を社内プロキシ経由にする場合は、HTTPS_PROXY=http://proxy.example.com:8080のように設定します。プロキシを経由させたくない接続先がある場合は、NO_PROXYにlocalhost、127.0.0.1、特定ドメインなどをカンマ区切りで指定します。fetch()の第2引数にproxyプロパティを渡す方法は、Node.js標準のfetch()の設定方法ではありません。また、NODE_TLS_REJECT_UNAUTHORIZED=0はTLS証明書の検証を無効化する設定であり、プロキシを有効化するものではありません。証明書検証を止めるため、通常は利用すべきではありません。なお、NODE_USE_ENV_PROXY=1と同じ目的で、Node.js起動時に--use-env-proxyフラグを指定することもできます。両方を指定した場合は、--use-env-proxyが優先されます。