last update 2011年12月2日 13:35

最近のHTTPd事情をチョットだけ調べてみた。

詳しくは書けませんが、さる事情により、明日、自宅にリバースプロキシを導入しよう と考てまして、ここ1年ほど離れていたWEB関係の情報を久しぶりに収集してたら、Lighttpd なんていうWEBサーバが出てるんですね。なんでもYouTubeやWikipediaもこれを導入している。と。

オープンソースには適した用途もあり、その用途での利用という側面において私はオープンソースを擁護するわけですが、Apache の遅さで膨大なトラフィックをさばくには、H/W投資がかさみすぎるという問題があるというのもまた事実なわけです。(あえて柔らかい言い方をするならば)設計上の制約からこれは仕方がない事ではあるのですが、Web2.0時代となった今、Webサーバがこなすべきクライアントからのリクエスト回数は増加の一途をたどり、かつ、ユーザビリティの観点から良好な使用感を実現する上でも、応答遅延の最小化が重要、そんな時代となっちゃったわけです。

featherこれを担うのはApache(少なくとも私がよく知るApache2.0.X系以前)では不十分と私は考えていました。2年くらい前から。

そういった用途に多少は使える安価なそれなりの代替手段がLinux にも求められていると思っていたら、ちゃんとそういうWEBサーバが作られていたっていう事なんですね。

Lighttpd では、I/Oのパフォーマンスも改善されるようになっているようです。ほかの商用HTTPdとの性能比較なども機会があれば行う価値がありそうです。

で、本題のリバースプロキシ用途についてですが、今回の要件は以下のとおり(いつものように複雑)です。

  • クライアントからリバースプロキシまでのトラフィックはSSL
  • リバースプロキシからバックエンドサーバまでの接続は、別接続のSSL
  • バックエンドサーバからのレスポンスは、リバースプロキシで暗号を復号化し、なんらかの処理ができるようにする
  • リバースプロキシでは復号化後、Cookieのドメイン名や、HTML中のドメイン名直書きリンクの書き換えを行う。
  • 書き換え後の内容は、リバースプロキシの鍵で暗号化され、SSLでクライアントに送られる。

とりあえず時間も限られていますから、Apache 2.2.X を使おうかなと。特に4点目の要件を満たす機能は、記憶が確かなら、Apache 2.0.X 以前には無い機能ですし、つかってみようかな。と。

しかし、冒頭の余談のような事情があるのかよく分かりませんが、Apache httpdの仕様策定方針も当初にくらべずいぶん変わったものです。このくらいの処理ができるリバースプロキシサーバと言えば、フリーのものはほとんどなかったわけですから。

コメントを記入