WordPress: プラグイン更新後に Service unavailable 発生で焦る

過去に自分が書いたメモの情報を読もうと、ブログページを開こうとしたところ、自分のサイトが「Service unavailable!」となって、アクセスできなくなっていました。

自分のパソコンから、www.lifewithunix.jp/notes 下のドキュメントにアクセスしに行くと、表示できない!予期していない症状だったため、焦りました。


Service unavailable!
メンテナンスで停止中か、サーバの処理能力の問題のため、 現在リクエストに応じることができません。 後ほど再度お試し下さい。

サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。

Error 503
www.lifewithunix.jp
Apache/2.4.54 (FreeBSD) OpenSSL/1.1.1l-freebsd PHP/8.0.25


だって。

WordPress トップページはちゃんと表示されるし、WordPress 管理下に無いコンテンツも問題なく表示できる。WordPress で書かれている個別ページだけアクセスできない!

いつから発生しているの?

と、HTTPdのログを確認したところ、なぜか Service Unavailable エラーは発生していない。
インターネット側からアクセスした場合正常で、自宅内LANからアクセスした場合のみ、Service Unavailable になるってどういうこと?
スマートフォンを取り出して、インターネット回線側から外回りでアクセスしてみたら、調べたかった情報に何事もなくアクセスできます。

どういうこと?逆方向なら、まだわかりますよ。インターネット側に何か異常が発生しているようなことを想像できますから。それが、逆。自宅内LANに問題があってアクセスできないの?でも正常なページはあるし。
と、ちょっと頭が混乱してきました。

ふと、不具合の前に何をしたかを思い出すと、WordPressのプラグインに更新が来ていたので、それを更新していました。その後から発生した現象かもしれない。と、何のプラグインをを更新したかな?と確認してみると、WP Statistics という統計情報をモニターするプラグインをアップデートしていました。WP Statistics に不具合があったのか?と、更新したプラグインを停止させようとしました。幸い、トップページから、WordPressダッシュボードにはまだアクセスできる。プラグイン管理ページを開いて、対象のプラグインを無効化。しかし、復活しない。WP Statistics は犯人ではないの?

.htaccess に、アクセス拒否のディレクティブを書いていますが、過去に書いて無効だった書式が、バージョンアップで有効になってしまった?またはその逆の、有効だった書式が無効と認識されてしまった?
一応、.htaccess を見てみるものの、おかしな点は無し。

仕方がないので、今、表示できるところと、表示できないところを細かく分類してゆきました。
古いドキュメントがアクセスできないのか?新しいメモがアクセスできないのか?すべてが対象なのか?google検索してみて、そのリンクから飛んできた場合はどうか?WordPressの投稿管理ページのリンクから開くとどうなのか?室内の別のPCから開いてみるとどうか?Proxyを経由しない場合はどうか?などなど。

不思議なことに、調べてゆくうちに、表示できるページと Service Unavailable になるページがあることがわかりました。しかし、その傾向がわからない。さらに、先ほどは表示できていなかったページが、時間の経過とともに表示できるようになってきました。

HDDのアクセスランプを見てみるとHDDがバースト転送状態。使用率が常時100%になってます。Service Unavailable と表示されるまでが一瞬だったのでしばらく気が付きませんでしたが、WP Statistics プラグインを更新すると、過去のアクセス情報記録をフォーマット変換しているのか、しばらくHDDへのアクセスが集中することが過去に何度かありました。その場合は、ページの表示に時間が掛かっていただけなので今回もそうなんだろうと思っていましたが、「http エラー 503」 の表示にあった通り、「サーバの処理能力の問題のため」だったのかも。体感的には、プラグインの更新を掛けてから、20分程度 Service Unavailable になっていた感じです。ログを確認してみたところ、表示に影響が出ていた 503エラーは20分くらい。ログには一部503エラーが40分以上で続けていたと記録されていました。結構長い。

時間の経過とともに、表示できなかったページも表示できるようになり、いつの間にか問題解決。インターネット経由なのか、自宅LAN経由なのかは関係なかったようです。
普段自分のメモにアクセスするときは、WordPressにログインした状態でページ表示するため、そのページの中には WP Statistics が管理する統計情報が含まれます。これの更新が止まってしまって503エラーになっていたものと推測できます。外部インターネットを通してアクセスする場合、ログアウトした状態でWebブラウザーを使っていたため統計情報は表示されず、Service unavailable にならなかったようです。
WP Statistics プラグインを停止しても復旧しなかったのは、一度 mysql に対してコマンドが発行されてしまった後だったため、WP Statisticsプラグインを止めても更新が止まらなかったためと推測できます。現象を発見して、10分くらい焦りまくりましたけど、単純にHTTPエラーに表示されている内容が正しかったようです。

コメントを残す