@kyanny's blog

My life. Opinions are my own.

Apache

Basic 認証 + レスポンスヘッダのカスタマイズ

Basic 認証をかけつつレスポンスヘッダをカスタマイズしたかったので Apache と nginx で試してみた。 Server version: Apache/2.2.15 (Unix) と nginx version: nginx/0.8.54 で試した。 Apache の場合 Header ディレクティブに always を追加すればよい。…

StartServers と MinSpareServers

今日、livedoorしたらば掲示板の管理画面がリニューアルしました。少し手伝いました。で、先週の金曜日の夜に apache の設定を見直しててふと気づいたことがあったのでメモ。apache には StartServers というディレクティブがあり、これは apache を起動した…

mod_rewrite の RewriteMap の Apache 内部関数の使い方

mod_rewrite には RewriteMap というディレクティブがある。その名の通り、ある入力パターンを対応する値と置き換えるもので、外部のプログラム (rewrite.pl みたいな)を指定して使うことが多かったけど、 Apache 内部関数というのも指定できる。 # 内部関…

mod_rewrite の R フラグと L フラグについてメモ(R を省略できる場合)

自分自身が http://example.com/ だとして RewriteRule ^/foo http://example.jp/ [L]これは 302 Found でリダイレクトする。何気なく書いて、実際ちゃんと動いてて 302 Found なのも意図した通りで、でも「あれ? R つけてないけどいいんだっけ?」と疑問に…

やっとわかった、リバースプロキシの設定の意味

いままでリバースプロキシの設定がよくわかっていなくて、すでに動いているサーバの設定を見よう見まねで使い回してきた。ちゃんと理解しようと思って、マニュアルを読み直したらやっとわかった。設定の方法 (How) がわかったこと以上に、なぜそう書く必要が…

mod_rewrite の QSA フラグは $%{QUERY_STRING} と等価か?

たぶん等価じゃないかなーと思うんだけど、ソースを読んだわけじゃないので自信はない。 RewriteRule ^/id/(.*) http://localhost:8080/app/?id=$1&%{QUERY_STRING} [P,L] RewriteRule ^/id/(.*) http://localhost:8080/app/?id=$1 [P,L,QSA]この二行がいつ…

mod_extract_forwarded の apache1.3 用は www.warhound.org にサブドメインを変えるとアクセスできる

mod_extract_forwarded という apache モジュールがある。ぐぐればたくさんの解説ページが見つかる。これは apache1.3 用と apache2.0(以上)用があり、それぞれ別のページで配布されている。 2.0 用の配布ページはすぐに見つかるが、 1.3 用の配布ページは…

mod_rewrite で QUERY_STRING をつけたいときは [QSA] を使う

リバースプロキシとかで、裏側のアプリケーションサーバにクエリストリングを渡したい場合、 RewriteRule ^/foo/bar/(.*) http://localhost:8080/app/foo/bar/?baz=$1&%{QUERY_STRING} [P,L]ではなくて、 RewriteRule ^/foo/bar/(.*) http://localhost:8080/…

バーチャルホストで悩む

毎度毎度、バーチャルホストの設定で迷います。サブドメインを設定してバーチャルホストで別の役割をさせたいときなど、 DNS の設定レベルで足りてないのか、 NameVirtualHost や VirtualHost の書き方が間違っているのか、 /etc/hosts に書いたときと書かな…