2017年12月21日SHAREツイートシェアはてブLINEPocket先日、エックスサーバーで運営しているWordPressのサイトが断続的に500エラーになってしまい、サイトにアクセスできないというトラブルにみまわれました。今回は、そのトラブルを解決するまでの一連の流れをまとめます。原因は何だ!もう一度冷静に考えてみることに。2つある日突然の500エラーブログを更新しようとしていたところ、こんな画面になってしまいました。CGIやPHPなど内部参照におけるエラーの為、目的のページが表示できなかったことを意味します。以下の様な原因が考えられます。・CGIの負荷が大きい(CGIプロセスが多数動作している)。・CGIのパーミッション設定に誤りがある。・CGIのソースコードに問題がある。・.htaccessの記述に誤りがある。何回かリロードすると直ったりもしたので、どうやら今回は「断続的に発生する場合」パターンの模様。いや、でも、CGIの負荷が大きいっていっても、WordPress2つだけだし、特殊なテーマやプラグインを使用しているわけではないし、アクセスだって大したこと無い(3000PV/日)し、いったい何が原因だ?と、正直さっぱりわかりませんでした。エックスサーバーのヘルプに聞いてみることに。「負荷が多すぎて、アカウント単位でリソース制限をかけているかも。的な回答を得ることができました。unavailableとのこと。うーん、やっぱり内部的な問題なのかぁ......。原因は何だ!ってことで、トラブル発覚前日に更新した、重めのブログ記事(っていっても87000文字くらい)をいくつかのページに分けて様子をみることに......。はい、ざんね~ん!!!その後、テーマ・プラグインを変えたり、停止したり、パーミッション設定を見なおしたり、.htaccessを見なおしたりいろいろやってみたのですが......無情に表示される哀しみの500。この時期は一日中トラブルの事で頭がいっぱいでした。一度冷静に考えてみることに。そもそも、同時アクセス1000とかいっても、びくともしなかったエックスサーバーのサービスでリソース制限かけられるって、普通じゃない。何か新しいものを追加したり、変更を加えたわけでもないのに、なぜ突然負荷が大きくなってしまったのか。エラーが起こる時間もアクセスが落ち着いているはずの朝方に集中している。これも絶対におかしい。本当に、内部的なエラーなのだろうか?というわけで、今まで確認していなかった、アクセスログを確認してみることに。「あっ......(察し)」ポストアタック、されてました。1時間におよそ6000回。こんなのが一日数時間にわたって繰り返されていたら、そりゃぁ制限されますよ。