最近ではルーターでport80をport3128のsquidにフォワードして透過proxyにするのが流行りみたいだけど。
とりあえずproxy.pacで配ることに。
/usr/ports/www/publicfileを使う。
*1
そのままではContent-Typeがtext/htmlなので対処する必要があり。
filetype.cをpatchする方法:
publicfileのfiletype.cにContent-Type設定をpatchする。
make fetch extractしてソースを取り出して、以下のファイルをpatch /usr/ports/www/publicfile/work/publicfile-0.52/filetype.c < patch-aaする。
もっと簡単にするなら、mkdir -p /usr/ports/www/publicfile/filesして、files/patch-aaで以下のファイルを作って、make patchしてもよい。
*** filetype.c.orig Tue Nov 9 16:23:46 1999
--- filetype.c Thu Oct 3 04:37:08 2002
***************
*** 32,37 ****
--- 32,38 ----
else if (str_equal(x,".jpeg")) result = "image/jpeg";
else if (str_equal(x,".png")) result = "image/png";
else if (str_equal(x,".mpeg")) result = "video/mpeg";
+ else if (str_equal(x,".pac")) result = "application/x-ns-proxy-autoconfig";
if (!stralloc_cats(contenttype,result)) _exit(21);
}
patchをあてずにファイル名で指定する方法:
ファイルのタイプ_
を使う。
proxy.pacをproxy.pac.application=x-ns-proxy-autoconfigという名前にする。
各クライアントはhttp://Webサーバー/proxy.pac.application=x-ns-proxy-autoconfig にアクセスすることになる。
これはファイル名長すぎ?
プロクシ自動設定に対応するには?:
IEの「ネットワークの設定を自動検出する」機能とは?_
によるとhttp://wpad.ほげ/wpad.datに同様の内容を入れておけば良いみたい。
まずtinydnsでエイリアスのwpad.ほげ.co.jpを追加しておく。そしてproxy.pacをwpad.datにハードリンクしておくことに。
Content-Typeが素のままだけど、IEが勝手に.datを解釈してしまうというお節介仕様なのでpatchを追加する必要は無い。
dhcpdが動作しているならそっちで設定しちゃえば?:
wpadを見る前に、DHCPINFORMの252番を使ってproxy.pacのあるURIを配布することが出来るらしい。
DHCP_
を参照。
option wpad code 252 = string;
option wpad "http://WebサーバーIP/wpad.dat";
を追加する。
また、ln wpad.dat wpad.daとハードリンクしておき、末尾が切れるバグにも対応しておく。
制作室ファイルサーバーのbindを修正:
ログを見たらゾーン転送が上手くいってなかった。
あとIPとホスト名を変更したら、/etc/namedb/でmake-localhostしなおす必要があり。
[ コメントする ]