圧縮プロキシ(認証付き)
Published by M-naka on 2005/1/27 (8819 reads)
httpアクセラレータともいう。
AIR-EDGEの「MEGA PLUS」サービスに対抗してみる。
実体は画像ファイルの圧縮を伴うアクセラレートサービスである。
使うのは「delegate」。公式サイトは英語表記だが国産ソフトウェアだそうだ。delegateはマルチプロトコル変換サーバで、プロトコルの変換、リレー等が可能なソフトウェア。ソースファイルを落とし、makeでビルド、make installは通らないのでビルドしてできたdelegatedを適当なディレクトリにコピーしてインストールは完了。/usr/sbin/にコピーしておいた。
次に認証ID・パスワードの作成。オープンサービスにするつもりはさらさらないのでキチンとユーザー認証を行う。公開プロキシにすると不正アクセスの踏み台にされる可能性があるので。プロバイダ責任制限法があっても怖いものは怖いのだ。
#/usr/sbin/delegated -Fauth a username:password proxypass
これで良いらしい。
delegateはプロキシとして動作させ、同時に画像ファイルのファイルサイズを落とす処理を加えることで高速化を図る。使うのは「ImageMagick」。インストールしようと思ったら既にインストール済みだったというオチ。
delegateのルートディレクトリ/var/spool/delegate以下にcfiディレクトリ作成、さらにその中に圧縮処理用のスクリプトファイルを作成して設置する。こちらのスクリプトを流用させて頂いた。
#!cfi
Content-Type: image/jpeg
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - -
--
Content-Type: image/gif
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - jpeg:-
--
Content-Type: image/png
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - jpeg:-
このスクリプトにより、JPEG、PNG、GIFが全て元データよりも高圧縮率なJPEGに変換され、画像データのデータサイズを減らす。これ以外でもhtmlファイルをgzipで圧縮するような記述を加えてもいいのだが、Zaurus SL-A300搭載の標準ブラウザ「NetFront3.0」では、gzipに対応していない。現状Let's noteでモバイルする機会はほとんどなく、AIR-EDGEもほぼZaurus専用になっているので、gzip処理はしないことにした。
で、delegateを起動させる。
#/usr/sbin/delegated -P8080 SERVER=http AUTH=proxy:pauth AUTHORIZER=proxypass CACHED=/var/spool/delegate/cache LOGDIR=/var/spool/delegate/logs LIBPATH=/var/spool/delegate/cfi FTOCL=my.cfi PERMIT="*:*:*"
最初「PERMIT」を入れずに起動してみたところ、LAN内からはアクセスできるが外からではアクセスできないことが発覚。で、PERMITを入れた。どうも明示的に許可するネットワークを宣言しないとダメみたいだ。
クライアント側の設定はプロキシサーバとしてwww.mythril.ne.jp を指定し、ポートは8080に設定。これでOK! お、読み込みがサクサクで早くなっている。Zaurusの液晶画面は非常に小さいのだが、確かに画像ファイルが以前より粗く見える。圧縮処理が上手く行っている証拠だ。
ちなみに、プロキシの認証機構というのが使ってみるまでよく分かっていなくて、クライアント側で認証に関する設定が一切ないのが不思議だった。実際にアクセスしてみると……、何のことはない。.htaccessを使用したときと同じで認証ダイアログボックスが出てくるのである。成程ー。
AIR-EDGEの「MEGA PLUS」サービスに対抗してみる。
実体は画像ファイルの圧縮を伴うアクセラレートサービスである。
使うのは「delegate」。公式サイトは英語表記だが国産ソフトウェアだそうだ。delegateはマルチプロトコル変換サーバで、プロトコルの変換、リレー等が可能なソフトウェア。ソースファイルを落とし、makeでビルド、make installは通らないのでビルドしてできたdelegatedを適当なディレクトリにコピーしてインストールは完了。/usr/sbin/にコピーしておいた。
次に認証ID・パスワードの作成。オープンサービスにするつもりはさらさらないのでキチンとユーザー認証を行う。公開プロキシにすると不正アクセスの踏み台にされる可能性があるので。プロバイダ責任制限法があっても怖いものは怖いのだ。
#/usr/sbin/delegated -Fauth a username:password proxypass
これで良いらしい。
delegateはプロキシとして動作させ、同時に画像ファイルのファイルサイズを落とす処理を加えることで高速化を図る。使うのは「ImageMagick」。インストールしようと思ったら既にインストール済みだったというオチ。
delegateのルートディレクトリ/var/spool/delegate以下にcfiディレクトリ作成、さらにその中に圧縮処理用のスクリプトファイルを作成して設置する。こちらのスクリプトを流用させて頂いた。
#!cfi
Content-Type: image/jpeg
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - -
--
Content-Type: image/gif
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - jpeg:-
--
Content-Type: image/png
Output/Content-Type: image/jpeg
Body-Filter: convert -quality 10 - jpeg:-
このスクリプトにより、JPEG、PNG、GIFが全て元データよりも高圧縮率なJPEGに変換され、画像データのデータサイズを減らす。これ以外でもhtmlファイルをgzipで圧縮するような記述を加えてもいいのだが、Zaurus SL-A300搭載の標準ブラウザ「NetFront3.0」では、gzipに対応していない。現状Let's noteでモバイルする機会はほとんどなく、AIR-EDGEもほぼZaurus専用になっているので、gzip処理はしないことにした。
で、delegateを起動させる。
#/usr/sbin/delegated -P8080 SERVER=http AUTH=proxy:pauth AUTHORIZER=proxypass CACHED=/var/spool/delegate/cache LOGDIR=/var/spool/delegate/logs LIBPATH=/var/spool/delegate/cfi FTOCL=my.cfi PERMIT="*:*:*"
最初「PERMIT」を入れずに起動してみたところ、LAN内からはアクセスできるが外からではアクセスできないことが発覚。で、PERMITを入れた。どうも明示的に許可するネットワークを宣言しないとダメみたいだ。
クライアント側の設定はプロキシサーバとしてwww.mythril.ne.jp を指定し、ポートは8080に設定。これでOK! お、読み込みがサクサクで早くなっている。Zaurusの液晶画面は非常に小さいのだが、確かに画像ファイルが以前より粗く見える。圧縮処理が上手く行っている証拠だ。
ちなみに、プロキシの認証機構というのが使ってみるまでよく分かっていなくて、クライアント側で認証に関する設定が一切ないのが不思議だった。実際にアクセスしてみると……、何のことはない。.htaccessを使用したときと同じで認証ダイアログボックスが出てくるのである。成程ー。
Navigate through the articles | |
続・圧縮プロキシ(認証付き) | ネットワークブリッジ |
The comments are owned by the poster. We aren't responsible for their content.
|