さくらのワードプレスで管理画面がInternal Server Error(500エラー)で閲覧できなくなった話

筆者が管理する音楽素材サイトはさくらのスタンダードプランにワードプレスをインストールして使っています。

エックスサーバー等に比べると若干速度の遅さが気になるんですが、移転もめんどくさいのでそのまま使っておりました。

さて、ひさびさにサイトを更新しようとすると、管理画面がInternal Server Error(500)で閲覧できないではないですか!

今回はこれの原因と対処法を紹介します。

[toc]

発生したInternal Server Errorの状況

主な現象をまとめると以下の通り。

  • 表画面は表示速度がやたら遅いものの閲覧できる
  • 管理画面は500エラー。ただし、たまに表示できる

コード500のエラーは、例えばワードプレスのソースコードの変更やプラグインの相性などによって生じることが多いです。

その場合には、「エラーが発生する前の状況に戻す」、「一時的にプラグインを停止する(FTPからプラグインのフォルダ名を変える)」などで対処できます。

しかし今回は、

  • 毎回500エラーになるわけではない(重いけど表示できる場合もある)
  • 最近ソースコードは変更していない

といった理由から、別の原因を模索することにしました。

さくらのエラーは大抵「閲覧者が多すぎ」?

2ちゃんねるの過去ログだったかに、「さくらのサーバーエラーは同時閲覧者数が多いことで発生しやすい」とのポストがありました。

この「混雑」に伴うエラーは、本来は503エラーとして返されるものです。

しかし今回は思い当たる節がないため、さくらのサーバーコントロールパネルにログインし、アクセスログからエラーログを確認することにしました。

すると、多数のエラーログが記録されており、問題が発生していたようです。

まとめると以下のようになります。

  • IPアドレスが全て同一
  • 発信源は中国
  • 同じページに何度もアクセスしている
  • 1秒間に6~8回の頻度

と、「人間が間違ってアクセスしているようには思えない」状況でした。

DDoSほどのアタック量ではないものの、F5アタックをやられてそうな雰囲気です。

要するに今回の500エラーの原因は、ワードプレスの内部的な問題ではなく、外部からの多すぎるアクセスでした。

なお、以下のサービスを使って、IPアドレスの所在検索を行えます。

ドメイン/IPアドレス サーチ 【whois情報検索】
IPアドレスやドメインの情報が検索できます。不正アクセスのIP検索などアクセスログの解析などにご利用ください。また、検索に利用しているIPアドレスとドメインのwhoisサーバ一覧も公開しています。

対処法

FTPでサーバーにアクセスし、「.htaccess」ファイルに

deny from ***.***.***.*** #(アクセスを制限したいIPアドレスを記載)

の1行を加えます。

これで該当IPアドレスのアクセスを遮断できます。

該当IPを遮断後、サイトの表示速度は改善し、500エラーも発生しなくなりました。

まとめ

  • Internal Server Error(500)の原因は、プラグインや内部のプログラム上の問題で生じることが多い
  • プラグインや内部のプログラム上の問題ではないと判断できるなら、外部からの攻撃の可能性がある。特に、表示できたり表示できなかったりと不安定な状況が続くなら、アクセスが多く負荷が高くなっている可能性
  • 特定IPのアクセスを遮断するなら.htaccessを編集する

筆者の印象として、さくらインターネットのサーバーでWordpressを利用すると、表示までに少しもっさりしたり、アクセスが多くなると503エラーが発生したりしやすい印象を持っています。

2018年5月よりサーバー機能を拡張しているそうですので、今後の高速化に期待したいところです。

コメント