2008-11-01から1ヶ月間の記事一覧

こんなテンプレートエンジンほしい

なぜ、いちいちエスケープを手動で指定しなければいけないのか 文脈によって、自動的にエスケープ手法は決定できるはず と思ってます。 テンプレートエンジン作りたい - kazuhoのメモ置き場 ですよねー。で,そのへんを自然に取り込んでいるのが,おもに Pyt…

Apache の sub request と internal redirect

極私的メモ。 通常のリクエスト処理フロー modules/http/http_core.c で ap_process_http_connection() 関数 を ap_HOOK_process_connection として登録しており,これが(ap_HOOK_process_connection をオーバーライドしていなければ)通常のリクエスト処理…

ap_sub_req_lookup_file() の仕様を勘違いしていた

translate_name に hook をかけてそこで ap_sub_req_lookup_file() したところ,セグフォってしまいました。んーなんでだろうと思って [http://httpd.apache.org/docs/2.2/mod/mpm_common.html#coredumpdirectory:title=CoreDumpDirectory] を指定して core …

複数のテストサーバをリバースプロキシで集約 (4)

mod_proxy_mapper のコードを詳説します。 mod_proxy に処理を移譲する方法 どこかのフェーズで request_rec *r; r->filename = "proxy:http://example.com/foo/bar"; r->proxyreq = PROXYREQ_REVERSE; r->handler = "proxy-server"; のように設定すると,ha…

複数のテストサーバをリバースプロキシで集約 (3)

複数のテストサーバをリバースプロキシで集約 (1) - daily dayflower と 複数のテストサーバをリバースプロキシで集約 (2) - daily dayflower の続きです。mod_rewrite の RewriteMap を使ってごにょごにょしましたが,なんともまどろっこしかったです。そも…

mod_proxy_mapper.c

/* ** mod_proxy_mapper.c */ #include "httpd.h" #include "http_config.h" #include "http_log.h" #include "http_protocol.h" #include "http_request.h" #include "http_core.h" #include "ap_config.h" #include "apr_strings.h" #if 0 || defined(__GN…

複数のテストサーバをリバースプロキシで集約 (2)

複数のテストサーバをリバースプロキシで集約 (1) - daily dayflower の続きです。前回 mod_proxy と mod_rewrite を組み合わせてリバースプロキシ環境を構成しました。が,そのままだとプロキシ先のサーバが増減するたびに設定ファイルを書き換えて httpd …

複数のテストサーバをリバースプロキシで集約 (1)

各所でテストサーバが立ち上がっていて,これらは一台のリバースプロキシの背後にいます。普通に mod_proxy でやっているのですが,テストサーバを増やすたびに設定ファイルを書き換えて httpd を再起動,としなくちゃいけないのが煩わしい。で,リバースプ…

Apache の provider 機構 - 他モジュールに移譲するしくみ

2008-11-13 追記: タイトルを変更しました用語定義をしておきます。 consumer provider の提供する情報を取得する役割をになう provider consumer の要求する情報を提供する役割をになう 「情報」というのは const void * 型の値1つ,なのでなんでもよいです…

Ubuntu 8.10 にアップグレードしたら ssh の秘密鍵のログイン時アンロックがうまくいかなくなった

エラーメッセージは忘れたんですが,id_dsa にアクセスするときにログインパスワードを入力するようダイアログがでて,ログインパスワードを入力してもうまく解除できませんでした。んで, $ rm ~/.gnome2/keyrings/*して,ログインしなおしたら,再度デフォ…