障害だらけの各サイト

東日本大震災以降の様々な環境変化の影響を受け、昼間の仕事もこれまでと全く異なる業務となってしまい、新業務に忙殺されてサイト管理にも全く手をかけられない状況が続いてしまいました。

前回この開発日誌に書き込みしたのは2012年11月11日ですので、丸一年以上の間はサイトとサーバーのメンテナンスに手をかけることができておりませんでした。

死にかけでも稼働していたプログラム

サイトメンテナンスや運用作業ができていない間も、dtnディレクトリには登録申請が日々入り続け、審査待ちサイトの数は1万3千件を超えるまでになってしまいました。また、画像掲示板の泉はスパム投稿に耐えられず、多くのページが破壊されて真っ白になるばかり。

しかも、遂にはサーバー屋からお宅のドメインが原因で収容サーバー全体に障害発生しているとのメールが届くこととなり、2月のある日には終日サーバもダウンさせられていたようです。

この日のアクセス数は0でした。

各サイトを応急措置

サーバー屋から警告をうける状況はさすがにまずいと思いまして、サーバのゴミ掃除から始まり、各種プログラムの不具合修正やスパムの応急処理を一通り対応し、一ヶ月近く夜なべ作業を続けてやっとサイトを正常復旧させることができました。

放置期間に検索APIのサービス終了

この放置していた間にYahooのAPI仕様も大きく変化していたようで、dtnディレクトリの検索機能に付随して使っていた検索APIも提供がいつの間にか終了していたようです。検索しても空白を表示する状態になっていたようでお恥ずかしい限りです。

検索APIの代わりを探す

何か別の検索APIに変更しようとは思いましたが、Yahoo JAPAN WEB APIコンテスト応募作品という流れでカテゴリに掲載されたこともあり、Bing検索API、Google検索APIに変えるのもどうかとは思いました。

すると、同じYahooの APIに、ディレクトリサーチAPIという、Yahooカテゴリに掲載されたサイトのみを検索するAPIがありましたので、取り急ぎこちらのAPIを使って、dtnのカテゴリデータと連携させるようしておきました。Yahooの検索APIはもう復活しないのでしょうが、本当に残念です。

画像掲示板プログラムの修正

画像掲示板の泉は、HTML出力処理に大きな問題があり、ファイルロックとポインタ処理がうまくできていなかったようで、同時知アミングで更新処理が走るとHTMLが真っ白に出力されてしまっていたようです。

他にも細かい修正必要箇所がありましたが、放置していた一年以上の間に、海外スパム投稿屋から書き込み先と目をつけられてしまったようで、プログラムを修正してあげた瞬間に秒単位で連続スパム投稿が走り始めて、真っ当に動かすにはほど遠い状況でした。

掲示板にCAPTCHAで画像認証を入れるには手間がかかりそうでしたので、スパム投稿元がすべて海外サーバIPということもあったので、一旦これら全てを.htaccessで遮断してしまうことにしました。

googlebotもついでに吹っ飛ばしてしまい、ネットから一瞬消えかかってしまいましたが、無事スパムを一掃することはできたようです。

おわりに

障害が山積みな状態でしたが、とにもかくにも無事に復旧させることができましたので、13000件の登録審査待ちをいち早く処理するようにしたいと思います。登録待ち状態の方は、気長にお待ちください。よろしくお願いいたします。

dtn.jpはもう12年目となりますが、引き続きよろしくお願いいたします。