[FrontPage] | 更新履歴 - サイトマップ - "ModProxy" 配下のコンテンツ - 過去を発掘 | [Snap.Shot] |
ModProxy |
(2002-10-21 takano)
えーと、実は私はサーバサイドでの多段proxyって嫌いなんです。 FastCGIとかの代替手段があるなら、出来る限りそれを使えと。
ただこれ、 今まではモヤモヤしてて、ちゃんと理由を説明できなかった。 「中継するたんびにHTTP喋らせると効率悪い」って論理で攻めようかと 考えたこともあるんだけど、そんなのリソースとしては微々たるモンだよね。
が。
今ならハッキリその理由を言える。 それは、 proxy接続にするということは、HTTPの(余計な)再解釈が入る ということだ。
ヘッダも含めて垂れ流しで子に投げてくれるならいい。 でも現実にはそれは無理。 なんでかというと、たとえばHostヘッダに応じてバーチャルドメインを各々の サーバ振り分けるには、ヘッダの解釈が必須だからだ。
ProxyPassなんぞで渡してしまうと、X-Forwarded-Forヘッダをつけたり、戻しで Serverヘッダの書き換えが必要だったりと、「中継」にかかる追加処理というのは 何かと実装ミスを招きやすい処理でもある。
simple is bestを崇拝(!)する身として、そこがどうしてもモヤモヤしてた。 で、このモヤモヤは現実に降り掛かってきたのである。
今、思い出したようにこれを書いているのは、apache-1.3.23における mod_proxyの挙動不振な点を発見したせい。 同一ヘッダを複数送信しようとした場合…たとえば、複数のSet-Cookieヘッダを 送信しようとすると、最後の一件を除いて全部捨てられてしまうのだ。
はてさて、どうしたもんか。 RedHat?のrpm玉に、当該パッチとか入ってたりしないかしら。
そういえば、Proxy中継した404とか500のエラーページに、Charset=ISO-8859-1を 勝手につけられたこともあったような。記憶があやふやなので、あとになって 「そこまで酷くないぞ」って怒られるかもしれない(誰に?)。 でも、いかにもありそうだよね。
Apache 1.3.25か26あたりでmultiple-cookie header bug in proxyは直ってるみたいです
なんかmod_proxyがらみの穴が出たみたいですね。
http://www.itmedia.co.jp/enterprise/articles/0406/29/news010.html