MSYS2やGit for WindowsでのProxy設定方法|PACファイルでも

スポンサーリンク

Windows上でLinuxライクな環境を使うにはMSYS2(もしくはGit for Windows、Cygwin など)がありますね。その際、職場で使うときは、Proxyの設定が必要になることが多いと思います。Windows側の設定ではなく、MSYS2側の設定が必要です。
今回はその設定方法を解説します。また、普通のProxyサーバでなくPACファイルを使っている環境下での設定方法も書いておきます。PACファイルとは、接続するProxyサーバを自動で振り分けるスクリプトです。

スポンサーリンク

通常のProxyサーバの場合

基本的にWindows側にて設定されているサーバを使えばOKです。WSL(Windows Subsystem for Linux)の場合と同じですね。こちらにも手順を載せておきます。

まずは現状のプロキシ設定を確認します。

まずはじめに「コントロールパネル」を開きます。そのなかの「インターネットオプション」を選択します。

次に、「接続」タブを選択し「LANの設定」をクリックします。そうするとProxyなどの設定をするウィンドウが開きます。そこにProxyのアドレスとポート番号が書いてありますのでそれをメモします。

次に、MSYS2上にてそのProxy設定をします。具体的にはhttp_proxyとhttps_proxyという環境変数を設定する必要があります。

ホームディレクトリ直下の.bashrcに下記のように設定を書いておけば良いと思います。これでログイン時に自動で設定されます。
「proxy-host」「proxy-port」には、先ほど確認したプロキシのアドレスとポート番号を入れて下さい。
「username」と「passward」は、MSYS2のではなくProxyのユーザ名とパスワードです。


export http_proxy=http://username:password@proxy-host:proxy-port
export https_proxy=http://username:password@proxy-host:proxy-port

スポンサーリンク

PACファイルを使っているProxyサーバの場合

通常は上記のように単純にProxyサーバのURLをコピペすればいいのですが、PACを使用している環境ではそのままコピペしても動作しません。一手間が必要です。その方法を示します。

PACファイルのURLを確認

まず、ProxyサーバのURLを確認します。PACを使用している場合は、下記の青枠で囲んだように「自動構成スクリプトを使用する」にチェックが入っています。そしてそのすぐ下の「アドレス」のところにURLが書かれています。これをメモします。大抵の場合、拡張子が.pacになっていると思います。

PACファイルからProxyサーバのURLを調べる

次に、PACファイルの中身を調べます。先ほどメモしたURLを、WEBブラウザなどで開きます。中身はただのスクリプトファイルなのでなんでも開けます、ChromeでもEdgeでもなんでもいいです。

下記はPACファイルをダウンロードしている様子です。ダウンロードした後、メモ帳なりWordなり、お好きなエディタで開いてください(もちろん、ダウンロードせずに直接ブラウザ上で表示しても構いません)。

PACファイルの中身は、下記のような function FindProxyForURL (url, host)が記載されているはずです。実際はもっと長いかもしれませんが、構造的には同じようになっているはずです。

下記のように return のところにさまざまなProxyサーバのURLが記述されています。この中から該当するもの(MSYS2が使うもの)をメモします。大抵の場合、最後の方の「else」のところに書いてあるProxyサーバが該当します。下記の例ですと「PROXY proxy.YYYY.co.jp:8080」ですね。これをメモします。

function FindProxyForURL (url, host)
{
    if (shExpMatch(host, "www.FOO.co.jp")
        return "PROXY proxy.FOO.jp:8080";
    else if (shExpMatch(host, "www.BAR.co.jp")
        return "PROXY proxy.BAR.jp:8080";
    else if (host.match(/.local$/))
        return "DIRECT";
    else
        return "PROXY proxy.YYYY.co.jp:8080";
}

PACファイルから調べたProxyサーバを設定する

あとは、先ほど調べたProxyサーバを設定すればOKです。通常のProxyサーバの設定と同様です。
MSYS2上にて具体的にはhttp_proxyとhttps_proxyという環境変数を設定します。

ホームディレクトリ直下の.bashrcに下記のように設定を書いておけば良いでしょう。これでログイン時に自動で設定されます。
「proxy-host」「proxy-port」には、先ほど確認したプロキシのアドレスとポート番号を入れて下さい。
「username」と「passward」は、MSYS2のではなくProxyのユーザ名とパスワードです。


export http_proxy=http://username:password@proxy-host:proxy-port
export https_proxy=http://username:password@proxy-host:proxy-port

PACファイルから調べたProxyサーバのURLがproxy.YYYY.co.jp:8080でしたら、例えばこんな感じでしょうか。

export http_proxy=http://username:password@proxy.YYYY.co.jp:8080
export https_proxy=http://username:password@proxy.YYYY.co.jp:8080

これで、ログイン時にProxyサーバが設定されるはずです。ログイン後に下記のコマンドにてパッケージをアップデートしてみてください。これが成功すれば、Proxy設定はOKです。

$ pacman -Syu
スポンサーリンク

まとめ

今回はMSYS2(Git For Windowsも同様)でのProxyサーバの設定方法を解説しました。また、PACファイル(プロキシ自動設定ファイル)を使っている場合の設定方法も解説しました。これでMSYS2からパッケージのインストールやアップデートができるようになるはずです!

MSYS2WSL
スポンサーリンク
しんやさんをフォローする
スポンサーリンク
組込みエンジニアの思うところ

コメント