プロキシサーバを利用するためのパソコンの設定として、過去問(H18NW午後1問2)では、以下のように述べられている。
プロキシサーバを利用するには,PCのWebブラウザにプロキシサーバの情報を設定する必要がある。その方法としては,プロキシサーバのIPアドレスを直接設定する方法と,プロキシサーバの利用情報を定義したファイル(以下,自動設定ファイルという)をWebサーバに登録し,その登録場所のURLをPCのWebブラウザに設定する方法とがある。B君はこれらの方法を比較し,自動設定ファイルを用いる方法を採用した。
1 
 

自動設定ファイルって、確かpac(proxy auto config)ファイルですよね。
メリットはありますか?
プロキシサーバのIPアドレスが変わっても、端末(パソコン)の設定変更をしなくて済む。パソコンが1000台などとたくさんある場合には、設定が大変だよね。
まあ、この点に関しては、IPアドレスを直接指定するのではなく、FQDNで指定しすればこの問題は解決する。
では、PACのメリットは何か?
メリットは、プログラムを書いたり、複雑な設定ができることである。たとえば、サーバAが落ちたらBに行くとか。大規模なネットワークでは、pacを使うことが多くなる。

■ProxyのPACファイルの作業メモ。
試験には関係ないので、無視してください。けっこうはまってしまった・・・。
・やったことは、proxy.pacファイルを作成する。
・PACはローカルのパスは指定できない(HTTPで通信する必要がある)ので、Webサーバを建てて、そこに配置する。
管理が楽なので、XAMPPをWebサーバとして起動。C:\xampp\htdocsにproxy.pacを配置。
・PACファイルは、関数FindProxyForURLを使う
引数はurl, hostであり、インターネットにアクセスすると、この2つが引数として渡される。この値をもとに、PACにてプロキシの制御を行う。
たとえば、http://www.example.co.jpにアクセスすると、引数として、urlにhttp://www.example.co.jp、hostにwww.example.co.jpが渡される。
以下は、宛先がexample.co.jpであればプロキシを経由させない(direct)、それ以外はプロキシサーバ172.16.1.100に通信させるPACである。

-----------proxy.pac----------
function FindProxyForURL(url, host) {
    // www.example.co.jpのホストへはProxyを経由せずに直接接続
    if (shExpMatch(host,"www.example.co.jp")) {
        return "DIRECT";
    }
    // それ以外のURLは、以下のProxyを利用する
      return "PROXY 172.16.1.100:8080";
    }
------------------------------
※実物は以下に置きました。
http://nw.seeeko.com/proxy.pac

すごくはまった。原因の切り分けができていない。
まず、ローカルのファイルはダメなので、サーバにPACを置いた。http://127.0.0.1/proxy.pac
ループバックアドレスが原因かと思い、IPアドレスを指定したが、これが原因ではなかった。単なる構文の書き方なのか、よくわからない。まあ、動いてよかった。

簡単なテストとして、以下のpacには、nw.seeeko.comだけ直接接続。それ以外はProxyサーバ経由としている。以下のpacファイルを指定してもらい、nw.seeeko.comだけ接続できて、それ以外のサイトはエラーになることが確認できると思う。
http://nw.seeeko.com/proxy_nw.pac


スポンサードリンク