状況
- 会社でWSL2を使用したいけど、Proxyに阻まれてDockerやnpm等をインストールできない
-
NTLM認証のProxyを使用している(※最重要)
- 下記のコマンドで、認証方法を指定すると通信できる
curl -U username:password --proxy-ntlm -x proxy.xxxx:8888 -L https://qiita.com
結論
設定方法
- 1.Web上から、インストールファイルを取得
- 同ページ上から遷移できる
https://sourceforge.net/projects/cntlm/files/cntlm/cntlm%200.92.3/
から、exeをDL - Verは一番新しい(といってもUpされたのは8年前だが)ファイルを取得した
- 同ページ上から遷移できる
- 2.取得したファイルを実行し、インストール
- 管理者権限が必要
- 3.接続先のProxyを指定
- デフォルトだと、
C:\Program Files (x86)\Cntlm
にインストールされた - cntlm.iniを以下のように修正
- Username … Proxy認証する際に使用するユーザ
- Domain … Proxyサーバのドメイン
- Password … Proxy認証する際に使用するパスワード
- Proxy … 1つ目は、Https通信用のポートを設定
- Proxy … 2つ目は、Https通信用のポートを設定
- デフォルトだと、
-
- 動確(Cntlmが立ち上がっているか)
- 以下のようにコマンドを実行し、HTTP Codeを確認
C:\Program Files (x86)\Cntlm>cntlm.exe -I -M https://qiita.com
Password:
Config profile 1/4... Auth not required (HTTP code: 400)
Config profile 2/4... Auth not required (HTTP code: 400)
Config profile 3/4... Auth not required (HTTP code: 400)
Config profile 4/4... Auth not required (HTTP code: 400)
Your proxy is open, you don't need another proxy.
-
- WSL2側のProxy設定
-
~/.bashrc
に、以下を追記- Ip指定でも構わない
- WindowsとWSL2のIPが同じだった
HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128
-
- 動確(WSL2)
- Curlにオプションを指定せず、該当の処理が完了すれば設定完了
curl https://qiita.com