Apache

reverse proxyしつつErrorDocumentする際の罠

で見事にハマったのでメモ.たとえば以下のようにreverse proxyしている場合に、バックエンドプロセス群が落ちた際のエラー画面を自作したいと思ったとする。 <Location /> ProxyPass balancer://pbcluster/ ProxyPassReverse balancer://pbcluster/ </Location>そんな時はとりあえず…

mod_rewriteで無限ループしてた

http://d.hatena.ne.jp/komamitsu/20090207/1234005767 で自宅用サーバーに書いたApacheのmod_rewriteが無限ループしていた。 実は結構前から知っていたのだけど、何となく…ねぇ…、面倒くさくて…、暑いし そんなんじゃいかん!ビールばっか飲んで夏バテして…

LVS(DSR) & IP alias & IP-based virtualhost

ではまったのでメモ。状況はこんなかんじ V-IP1 V-IP2 | | | | +-+--------+-+ | | LVS | | +-+--------+-+ | | R-IP1 | | R-IP2(IP alias) | | +-+--------+-+ | | Apache | | | | | | | S1 S2 | +-+--------+-+(ここでは思いっきり単純化してますが…) DS…

リバースプロキシでの環境変数REMOTE_USER渡し

意外な落とし穴が。リバースプロキシしたRailsアプリの一つでは、手抜きでBasic認証の環境変数REMOTE_USERを利用しているのですが、Mongrelでは認証出来なさそうだったので、Apacheに認証させるようにしました。すると、当然のごとくRailsにはCGI環境変数のR…

複数Railsに対してリバースプロキシ&アクセス制御

やっとできた。LighttpdとMongrel(あとWebrick)しか使ってないので他のWebサーバーはよく分からないのですが、Apacheから複数Railsに対してリバースプロキシする際はMongrelが抜群に楽でした。 というのも、mongrel_railsのprefixオプションでURLのディレ…

preforkの挙動確認

preforkの挙動について確認してみた。ちなみに、preforkのポリシーは「事前に、ある程度余裕もって子プロセス作っていこうぜ。リクエストの度にforkするのはもっさりするからやめようぜ」です。まぁ、プロセス毎に処理をするのでいろいろ安全だけど、当然リ…

abを使ってみた

「DBにOracle使っているにも関わらずDBコネクションプーリングをしていないシステムがどれくらいもっさりなのか」を調べるため、自前でPerl & ithreadの負荷ツールを作っていたんだけど、こっちこそもっさりしていてどうもすみません、という感じなのでabを…

mod_rewriteに花束を

とある事情により、CGI実行ファイルが山程できているのだけど、この状態でSpeedyCGIを使うと、やはりたくさんのバックエンドプロセスが常駐してしまう(全てdispatcherへのシンボリックリンクなので山程はできない)。実のところ、CGI実行ファイルはdispatcher…

speedycgi install

はずかしいけれど history(特にperl Makefile.PL辺りのうろたえぶり)。 1030 wget http://daemoninc.com/SpeedyCGI/CGI-SpeedyCGI-2.22.tar.gz 1031 tar -zxvf CGI-SpeedyCGI-2.22.tar.gz 1032 cd CGI-SpeedyCGI-2.22 1033 ls 1034 ls -ltr 1035 view README…

mod_disk_cache

意地でもキャッシュさせたかったので試してみた。 <IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot "/var/cache/mod_proxy" CacheDefaultExpire 3600 CacheDirLength 4 CacheDirLevels 4 CacheIgnoreCacheControl On CacheIgnoreNoLastMod On </IfModule>負荷掛けてみたが、キャッシュ前…