LANドメインでwpadをAレコードに持つホストでapacheを動かして。/usr/local/www/data/にwpad.datを作って
proxy.pac
proxy.pa
wpad.dat
wpad.da
とハードリンク。
おまけにapache2/httpd.confに
AddType application/x-ns-proxy-autoconfig .pac .pa
も設定。
function FindProxyForURL(url, host)
{
if(isInNet(myIpAddress(),"192.168.foo.0","255.255.255.0"))
return "PROXY 192.168.foo.1:3128; ";
else if(isInNet(myIpAddress(),"192.168.bar.0","255.255.255.0"))
return "PROXY 192.168.bar.1:3128; ";
else if(isInNet(myIpAddress(),"192.168.baz.0","255.255.255.0"))
return "PROXY 192.168.baz.1:3128; ";
else
return "PROXY 192.168.hoge.1:3128; ";
}
見たいな感じで。
if ( ( isPlainHostName( host ) ) ||
( isInNet(host, "192.168.0.0", "255.255.0.0") ) ||
( url.substring(0,4)=="ftp:" ) ||
( shExpMatch( url, "http://127.0.0.1*" ) ) ||
( shExpMatch( url, "http://localhost*" ) ) ) {
return "DIRECT;";
}
というのを入れたりもするけど、Windows IEはプロクシ設定ファイルでDIRECTを食わせるとイントラネットゾーンになってしまうというお節介仕様なんで注意が必要。
しかし「設定を自動的に検出する」のデバッグがやりにくいったらありゃしない。
squidのaccess.logとapacheのhttp-access.logとdnscacheに痕跡がないし。Windowsでsyslogをとらないと駄目か。
[ コメントする ]