500エラーに関する勉強?をしていくうちに、エラー発生の原因として他の可能性を否定してはダメだと理解してきました。
ここでは完全に犯人をPING送信だと仮定して話を進めているわけですが、他に原因があることも考えながら作業していくことが大切ですね。500エラーに関しては一度ハマると抜け出すのが大変だという指摘もいただいたので、それに従ってみようと思います。
PING送信が原因だと仮定している理由は、プラグイン「WordPress ping Optimizer」の再稼働後からエラーが発生したためです。それに関してはこちらで。
現状を再確認
現状、サイトの記事投稿時にエラーが発生し始めることが多いです。そしてその影響は、設置しているエックスサーバー内全てのCGI系のプログラムだけがエラーでアクセス不能になります。ワードプレスサイトは問題なく投稿や閲覧ができます。
※追記※サイト記事に使う画像をアップロードした直後から発生しはじめているようです。
HTMLサイトは当然ながら閲覧や編集も全く問題なしです。
エラー原因として考えられるもの
「500 Internal Server Error」の表示が出る理由としては、
断続的に発生する場合
- CGIの負荷が大きい(CGIプロセスが多数動作している)
常に発生する場合
- CGIのパーミッション設定に誤りがある。
- CGIのソースコードに問題がある。
- .htaccessの記述に誤りがある。
と、記載されています。
今回のケースでは「断続的に発生する場合」に該当している可能性があります。そのため、「CGIの負荷が大きい(CGIプロセスが多数動作している)」ということがエラーの原因なのかな、と思います。
その中で考えられる原因としては、
- ポストアタック(いわゆるDDoS Attacks)
- プラグインの何かが原因(重い、干渉して悪影響など)
現在のエラーの原因はポストアタックでは無いと思うんですよね。
というのも、エックスサーバーに関しては、ワードプレスの「XML-RPC」機能に対して、セキュリティ向上を目的とした国外IPアドレスからのアクセス制限ができます。「XML-RPC API アクセス制限」機能です。
同時にワードプレスのダッシュボードへの国外IPアドレスからの接続を制限する機能もあります。なのでポストアタックが原因ではないでしょう。
※上記の設定は、エックスサーバー内のサーバーパネルにある「WordPressセキュリティ設定」から設定できます。
そうなると「プラグインの何か」です。(だと仮定しているわけですが・・)
PING送信に関するプラグインの他にも、プラグインを一つずつ停止して調べてみようと思います。
エラー発生付近で有効無効などの設定をしたのは「WordPress ping Optimizer」です。そのため、PING送信に関する疑いをおもいきりかけているわけですが、有効化されたことによって他のプラグインとの干渉も調べてみます。
PS.
解決する日は来るのかな?(笑)と思うときもありますが、サイトを触っていない時は、エラーも出ずに比較的安定しているので平和です。
そうはいっても、毎時エラーチェックしているわけではないので知らない時間にもエラーが出ているかもしれませんね。このあたりは、CGIプログラムにアクセスしてもらわないとエラーログが出ていないので、確かるすべがありません。
いっそ、プラグインを一斉に整理してやろうかとも思いますね。