Node.jsのプロキシ設定

企業内などプロキシがある場合の設定方法のメモです.

背景

世の中にいろいろ情報は溢れているのですが、npmの情報が中心だったり、プロキシに証明書が必要な場合の情報がなかったので残しておこうと思いました.

npmの設定

npmではnpm configで設定します.
※詳細はnpm Docs参照
Windowsでは、C:¥Users¥ユーザ名¥.npmrc や C:¥Users¥ユーザ名¥AppData¥Roaming¥npm¥etc¥npmrc に記録されます.

npm config proxy http://proxyhost:poxyport/
npm config https-proxy http://proxyhost:poxyport/

プロキシに証明書が必要な場合、cafileというキーで証明書を設定します.
C:¥xxx.crt の場合は以下になります. この設定はプロキシに限らず証明書を追加する場合に使用します.

npm config cafile C:¥xxx.crt

nodeの場合

多くのnode_moduleの場合は、Unix系で一般的なhttp_proxy, https_proxy, no_proxyが使用されます.
また、証明書が必要な場合は、環境変数にNO_EXTRA_CA_CERTSに証明書のパスを設定します.
※詳細はNode.js Documentation | Command-line options参照

キー名 設定値
http_proxy http://proxyhost:proxyport/
https_proxy http://proxyhost:proxyport/
no_proxy noproxyhost
NO_EXTRA_CA_CERTS C:¥xxx.crt

これで、requestモジュールなどで通信できるようになります.