himanago

Azure・C#などのMS系技術やLINE関連技術など、好きな技術について書くブログ

認証プロキシ環境下で JavaScript 開発をする際の設定

以前 Qiita に書いた記事のアップデート版1

https://qiita.com/himarin269/items/adda54fc5dde3c908dba

毎回ググって設定しているので、備忘録としてまとめておきます。
※パスワード変更をしたらその都度設定しなおしが必要です(パスワードの定期変更強制やめてほしい)。

設定のしかた

Node.js

npmできるようにするための設定。以下のコマンドを実行します。

npm config set proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>
npm config set https-proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>

Git

Gitも使えないと困るのであわせて設定。

git config --global http.proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>
git config --global https.proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>

ほぼ同じですね。

ハマりポイント

認証プロキシのパスワードに%が含まれているとうまくいきません。 %の部分を%25にしましょう。

Fiddler 併用の場合

Fiddler を使って認証プロキシを通過できるようにして使う場合は、もっと楽です。

まず以下の記事を参考に Fiddler で認証プロキシを越えられるようにします。
認証プロキシ非対応アプリケーションを、認証プロキシ環境下で動かす方法 - Qiita

※上記記事では Fiddler の種類や ScriptEditor について触れられていますが、現在は以下のページから本体を落とすだけで済みます。
Download Fiddler Web Debugging Tool for Free by Telerik

認証プロキシを越える設定をした Fiddler を起動した状態なら、Fiddler を経由する通信が認証プロキシを越えるようになるので、npm も Git も以下のように Fiddler のポート(デフォルト8888)を指定してあげればOK。

npm config set proxy http://127.0.0.1:8888
npm config set https-proxy http://127.0.0.1:8888

git config --global http.proxy http://127.0.0.1:8888
git config --global https.proxy http://127.0.0.1:8888

パスワード変更した際も Fiddler の設定を1か所変えるだけで済むので、断然楽です。

設定の消し方

設定をしていると認証プロキシ環境外で動かないので、環境が変わったら設定を消しましょう2。 これで消せます。

npm config rm proxy
npm config rm https-proxy

git config --global --unset http.proxy
git config --global --unset https.proxy

消せるんですが、これを実行しても Git がうまくいかなかった…。

git config --global --listgit config --local --list もやって設定がないのを確認したのに、なぜか動きとしては古いプロキシ設定を見ちゃってる動きでした(なんでなのかは不明)。

しかたないので、

git config --global http.proxy ""
git config --global https.proxy ""

で空の設定をして上書きしました。

2020/5/11 追記

うまくいかなかったのは Windows 環境変数HTTP_PROXY, HTTPS_PROXY が設定されてたからでした。これを消したら、空文字設定なしでいけました。

まとめ

認証プロキシとパスワード定期変更強制は悪。

とはいえ、そういった環境の中でも快適に過ごすために、設定を Fiddler で一本化しておくと管理含めて楽ですね。


  1. Qiita はもう使わないことにしてるので、気が向いたときにアップデートしながらこっちに移行してくるようにします

  2. 在宅勤務になって認証プロキシ環境じゃなくなった