個人で使っているSubversionのRepository達を、全て、RedmineのProjectと関連付けて管理することにした。(中身はゴミ同然だけれど…) そのため、RedmineとSubversionの認証情報を統合したりもした。それが、0日目。
1日目の午前、突如、RedmineおよびSubversionに接続できなくなった。参照しようとすると、ブラウザが接続待ち状態のまま何分も待機する。Apacheのerror.logをみると、下記のようなログが1分毎程度に出続けていた。
[error] [client *.*.*.*] proxy: Error reading from remote server returned by /redmine/projects/(以下略)
[error] [client *.*.*.*] (OS 10060)接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。 : proxy: error reading status line from remote server jomura.net:3001
夜、帰宅して、Apacheとmongrelを再起動することで、接続が回復した。が、不具合の原因はわからず。サーバーのCPU、メモリ、ディスクともに健全だった。
2日目の午前、また、RedmineおよびSubversionに接続できなくなった。error.logも同様。
夜、帰宅して、原因調査してもよくわからないが、「Redmineのリポジトリタブ参照は、やや処理が遅い」ことに注目し、「GoogleやMSNのCrawlerがリポジトリタブを参照しまくって、tcp portかなんかを食い潰しているのではないか?」と確たる根拠もなく決めつけた。
対策として、「Redmineのリポジトリタブは、同一ドメインreferがないと閲覧できない」ようにApacheを設定。
<Location ~ ^/redmine.*/(gantt|activity|repository)>
SetEnvIf REFERER "^http://jom.ra\.net" mysite
Order Allow,Deny
Allow from env=mysite
</Location>
さて、3日目の今日、今のところ、不具合は再現していないようだ。403 Forbiddenがやや多くなったか…。