Pegasus の内部処理
Pegasus の以下の順序で関連するファイルを参照し、名前空間や処理の内容を決定していきます。
/lib/namespace
httpd
の起動直後は httpd
を起動した名前空間の中にいる。これは通常 console の名前空間であり /lib/namespace
で決定されている。
/sys/lib/httpd.conf
最初に /sys/lib/httpd.conf
が参照される。
/sys/lib/mimetype
/sys/lib/mimetype
が参照される。
/sys/lib/httpd.rewrite
クライアントからのリクエストは /sys/lib/httpd.rewrite
に従って前処理される。
/lib/namespace.httpd
Pegasus はまず /lib/namespace.httpd
に従い名前空間を再編する。$web
が確定する。
$web/bin
$web/bin/386
と $web/bin/rc
が /bin
に bind される。
$web/etc/namespace_80
$web/etc/namespace_80
が存在すれば、さらに名前空間を再編する。ここで httpd
のサービス空間(実ホスト・仮想ホスト・ユーザごとの名前空間)が確立する。
$web/etc/rewrite
$web/etc/rewrite
によって要求されたファイルが確定する
$web/etc/allow
IP アドレスによるアクセス制限のチェック
$web/etc/passwd
パスワードに基づくアクセス制限のチェック
$web/etc/handler
実行ハンドラの参照
- ファイルの送信あるいは CGI の実行