nDiki : なつみかん

2001年10月2日 (火)

Apache Proxy で アンテナの ?%MM%%DD%%HH%%TT% 除去

アンテナページの多くはリンクURLに更新日時を付加する。 例えば

 http://www.naney.org/personal/diary/hns/

が、10月02日 14:46 に最終更新されているとう情報を取得すると

 http://www.naney.org/personal/diary/hns/?10021446

という、URL を持つリンクをアンテナページに生成する。 ページが更新されるとURLも変化するので、(Mozilla, Internet Explorer 等の)以前にアクセスした事のあるリンクの色を変えるブラウザでは、更新されたことを確認しやすい。

が、これはキャッシュ proxy には仇になる。 更新されるたびにURLが変化するということは、そのURLごとにキャッシュが作られるということだ。 私の愛用の WWWOFFLE もご多分にもれずそうである。 私は3ヶ月間キャッシュを保持するようにしているから、一日に3度更新されるページをアンテナのリンク経由で見ると、約90のコピーがキャッシュされる事になる。 そして、最新以外のキャッシュは(通常)2度と利用されることもない。 もはや、その URL ではアクセスされないから。

これはもったいない。 ようは、アンテナ経由でのアクセスの ? 以下を削除してキャッシュすればいいのだが、WWWOFFLE にはあいにくそのような機能はない。 そこで、URL を書きかえる proxy をブラウザと WWWOFFLE の間にカマせようということになる。

 Mozilla -> rewrite proxy -> WWWOFFLE -> target site

ここでは、Apache を rewrite proxy にすることにしてみた。 Apachemod_proxyproxy になるし、mod_rewriteURL を柔軟に変更できる。 もともと、自分の Web サイトのチェック用にローカルマシンで Apache も常時起動しているので設定を変更するだけだ。

とりあえず、大抵のアンテナは ?と8桁の数字(「なつみかん」でいうところの?%MM%%DD%%HH%%TT%)を付加するので、これをもぎとればよい。 以下、httpd.conf の修正。

 LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
 LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so

とモジュールをそれぞれ有効にする。rewrite_module より proxy_module を先に Load するようにする(デフォルトでは逆順なので注意)。

そして、httpd.conf の最後に

 ProxyRequests On
 ProxyRemote * http://127.0.0.1:8080/
 NoCache *
 <IfModule mod_rewrite.c>
 RewriteEngine on
 #RewriteLog /tmp/rewrite_log
 #RewriteLogLevel 9
 RewriteRule ^proxy:(.*)\?[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$ $1? [L]
 </IfModule>

を追加。ProxyRemote で、WWWOFFLEproxy を指定。 RewriteLog, RewriteLogLevel はうまく書き替らない時に有効にしてログを確認するのに使う。 最後の RewriteRule で実際に書き替えを行う。 ポイントは $1? と、置換後の文字列指定で最後に ? をつけること。 これをつけないと query-string が削除されない(これに気が付くのに随分かかった)。

後はブラウザ側の http プロキシ先を 127.0.0.1:80 にすれば OK。

無条件に ?と8桁数字が末尾にくれば、取り除いてしまうので荒っぽい RewriteRule だ。 だが上記のような query string を使っているページは(多分)そうないから、とりあえず、これで良しとしよう。 困ったら直せばいい。

追加リンク

スポンサード リンク
[ 10月2日全て ]

2001年10月21日 (日)

[ www.naney.org ] またまたディスクが一杯になってきた

www.naney.org の使用容量がまたまた一杯になってきた。 Namazu の index が結構大きくなってきたので、一旦削除して作りなおす。 「なつみかん」の .lirs ファイルも対象になっている。 検索無用でサイズも大きく毎日更新されるとあって、インデックスの肥大化に貢献しているようなので、mknmz の exclude 指定に追加してインデックスに含めないように。

[ 10月21日全て ]

2002年7月20日 (土)

[ www.naney.org ] LIRS とか

昨日実装した NaneyOrgWikiLIRSページ生成いじり。

, \ のエスケープ

LIRS仕様書通りエスケープするように修正。

なつみかんに食べさせてみる

なつみかん(on www.naney.org) に食べさせてみる。 URLの末尾が .gz でないと GZIP 圧縮された LIRS だと認識してくれないようなので、 http://www.naney.org/wiki/wiki.cgi?... というページも用意。 とりあえず、これでうまく読めているようだ。

……? test\test というタイトル (LIRS の中では test\\test) が、test\(tab)est になってしまうな。 これはなつみかん(ver.3.1b(20010312))側の問題かな?

[ 7月20日全て ]

2002年8月5日 (月)

はてなアンテナ登録

遅ればせながら、「はてな」に登録してはてなアンテナアンテナをたててみる。

アンテナ自体はなつみかんがあるので不自由していないのだけれど、差分表示・おとなりアンテナ・おすすめページの機能は面白いかな。 そういえば以前 blink というブックマークサービスを使ってみたことがあり*1似たような機能があったんだけれど、こちらは重くで駄目だった。

さてさて、自前のなつみかんとどう使い分けていくかな? 登録するページがさして見当たらないなぁ。

*1今でも一応ブックマークが残っているはず

便利な検索機能

はてなアンテナで使える(かな?)と思ったのは検索機能。 アンテナをたてるという比較的ヘビーな輩が登録した、これまたディープなページ群の最新内容から検索できるのは嬉しい。 日記系のページにのるような時事ネタを検索できるサイトって少ないからね。

ということで NaneyOrgWiki からも一発で検索できるようにしてみる。

[ 8月5日全て ]

2003年5月14日 (水)

[ WiKicker ] touch

やまだ君から NaneyOrgWiki の更新情報が、なつみかんに反映されていないとのご指摘をいただく。Thanks。

WikiEngine を変えたのにあわせてなつみかんの設定を変更するのを忘れていた。 というか、WikiEngine 自体にも touch 機能まだ実装していなかったり。 ということでさっと実装

[ 5月14日全て ]

2003年11月14日 (金)

なつみかん redirector(2)

昨日の redirector 設定だが、やっぱり不具合あり。

  • リダイレクト先が http:/host.example/... となってしまう (→ リダイレクト先を path として埋め込んでいるので // が / に正規化されてしまっているらしい)。Galeon や IE だとそれでもリダイレクトしてくれちゃうのだが、wget だとエラーになる。

QUERY_STRING の問題もあるし、やっぱり素直にリダイレクト CGI プログラムを呼んだ方がよさそう。

はてなアンテナと同じ

結局リダイレクタ CGI プログラムにしてしまった。query 部分ははてなアンテナと同じで ?url...YYYYMMDDhhmmss にした。リダイレクタでこの部分をもぐ。

Natsumican on www.naney.orgのテンプレートも変更。

 http://www.naney.org/hgo?%url%%YYYY%%MM%%DD%%HH%%TT%%SS%

に。

[ 11月14日全て ]

2003年12月28日 (日)

なつみかん + はてなアンテナ おとなりページ

なつみかんの各エントリにはてなアンテナ おとなりページへのリンクをつけてみた。

多くのエントリできちんと「おとなりページ」が表示される。 ということは誰かが、はてなアンテナに登録しているということ。 しっかりカブっているってことか。

まぁなつみかん on www.naney.orgのエントリの多くは、リモート情報取得元やはてなアンテナ、巡回先からのリンクなどで見つけて登録しているので当然といえば当然。

[ 12月28日全て ]

2004年2月3日 (火)

なつみかん」の開発・保守・運用を凍結します。

見逃していたが、

2003/12/24(水) 「なつみかん」の開発・保守・運用を凍結します。 今後のバージョンアップ・フォロー等は、気が向かない限り無いと思います。 -- 「なつみかん(NATSU-MICAN)」オフィシャルサイト

か。残念。 はてなアンテナの有料オプションの話もあるし、アンテナ業界(?)も変化の時期か? RSSも含めて今後どうなっていくのだろう。 LIRSなどのリモート取得関係とか。

他の実装

The diary formerly known as Go ahead make my day.より。

たまてばこ」「五月雨」はRubyか。サーバ容量に余裕があまりないので(ruby自体のインストールも必要とあって)ちょっと厳しいかな。 RNA は面白そう。RSS以外も取得できるといいな。pure Perlだし。 「第二アンテナ」はtDiary限定?

なつみかん」がGNU GPLとかで、どこかが引き継げればいいんでしょうけどね。

追記

「ありますよ、いよかんが」 (2004年2月6日追記)

[ 2月3日全て ]

2004年2月29日 (日)

[ Perl ] $0 と ps

Perl で $0 を上書きするとps の表示が変わる事を、なつみかん実行中の ps を見て知る。 うまく設定しておけば便利だな(perldoc perlvar)。 NaneyOrgWikinDikiでも設定しておいてみる。

top コマンドの表示も変わってくれると嬉しいのだが、そうはいかないようだ。

[ 2月29日全て ]

2004年8月5日 (木)

過去の今ごろ

過去の8月5日より。

[ 8月5日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.053061s / load averages: 0.08, 0.16, 0.22
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker