ホームページを制作したクライアントのホームページが急に503になってしまいました。
はじめに
ある日自分のブログを見た時に503エラーが出ていたと言うお話を聞いた事があります。今回は制作したクライアントのホームページがいきなり503と出ていたのでその時のメモとしても残します。
注意事項
今回は本当に稀なケースなので参考にならないと思います。ただ、こういった事も起きるんだと言う事を覚えておいて下さい。
503が出た
503は突然やってきた
ある日クライアントから電話があり、ホームページがインターネットサーバーエラーと表示されるとの事でした。
実際にホームページにアクセスしても同じように503エラーが出ていました。
クライアントの状況について考える
申し込んだ際のプランはサクラのスタンダードプランです。
ユニークユーザー数も1ヶ月に600程度、システムとしてはワードプレスを導入し、しっかりと更新もしていました。
原因を調査してみる
まず503が出る原因としては以下の事が考えられます。
- アクセスが集中している
- システムエラーを起こしている
- データの転送量が多い
基本的にこの3つですが、クライアントのホームページの状況から考えるとどれも当てはまらないなと思いました。
ただ、この思い込みがサクラで503が出た原因を究明する際の遠回りをしてしまう事になってしまいました。
とりあえずとった行動
リソース状況のチェック
サクラのコントロールパネルの左側のメニュー、運用に便利なツール内にございます。このリソース状況は何故503が出ているのかがコメントが出ているので確認してみました。
通常であればこのように何も表示されていませんが、もしもエラー関係が出ている場合はコメントと言う形で表示されます。このとき、どういった表示が出ていたのかは結構昔だったので忘れました。
細かい数字は覚えていませんがウェブ転送量が○GBと絶対にありえないレベルでした。
ただ、問題なのはトップページにはアクセス出来ないが他のページであれば問題なく見る事が出来ると言うことです。
自分自身、こういった状況が始めてなのでインターネット上から解決案を探してみました。
- とりあえずプラグインをすべてとめてみる→まったく効果なし
- トップページをhtml化してみる→解決した
とりあえずhtmlで表示していましたが、トップページの新着情報とブログが連携していたのでhtmlだけでは意味がありませんでした。
それにhtmlだと動くがphpだと動かないとなると正直原因がまったくわからなかったので、テストサーバーにてワードプレス内にこのクライアントの情報を全てコピーし検証してみました。
全く問題なく動く
テストサーバーでクライアントのホームページ情報をまるごとコピーして作成するとまったく問題なくアクセスできました。
最終手段再インストールが失敗
テストサーバーでは問題なく動いていたので、とりあえず一度再インストールを試みました。
すると
再インストールが出来ない
ことになりました。
ワードプレスをインストールする際はデータベース情報などを入力後、インストールと言うボタンが出てきて、インストール完了と言う流れになるのですが、インストールボタンをクリック後画面が真っ白になりました
サクラに電話しました
この時点で503が出てから約1週間ほど経過しています。さすがにクライアントにも原因がわからないとお話も出来ないのでサクラのサポートに電話してみました。
とりあえずサクラの指示通り再インストールをしてみたのですが、インストールが出来ませんでした。
これってサーバー側に問題があるのでは?と言う疑問を抱き始めましたがアクセスログを見ると原因がわかりました。
海外からの大量アクセス
エラーログを見るとビックリするくらい海外からのアクセスがございました。数分ごとにアクセスがあるのではなく数秒ごとにアクセスがありました。
今までトップページのみ503が出る理由としては海外からアクセスが集中していた事が原因でした。
アクセス解析の情報
やっとこさ原因がわかったので解決方法を考える事ができます。
解決方法
htaccessでアクセス制限をかけました
問題としてはトップページと言うか取得したドメインに対して海外から大量のアクセスがある事が原因でした。
対処としては海外からのアクセスを制限するという方法になります。
ただ、エラーログから1つづつIPアドレスから制限をかけるのは時間がかかるので日本以外のアクセスを拒否する形でhtaccessを登録しました。
そうする事で問題なくワードプレスも再インストールすることが出来ました。
海外からのアクセスを拒否する方法
htaccessに海外からのアクセスは拒否しますと言う内容を記入する事で可能となります。
まず、日本国外からのアクセスを制限する.htaccessのサイトにアクセス後.htaccessのダウンロードをクリックして下さい。
そしてファイルを開き、最後の部分に以下のコードを追加します。
表示に結構時間がかかります。
# Googlebot、Mediapartners-Googleを許可 allow from 66.249.64.0/19 allow from 209.85.128.0/17 allow from 64.233.160.0/19 # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
この記述を入れる事でワードプレスも利用する事が出来るのとGooglebotからのアクセスを許可する事が出来ます。
さいごに
副業などでブログを運営している方ならありうる事です
海外からのアクセス集中といいますか攻撃?になるのかな?こういった事ってあるんですね。目的としてはそのドメインを使用出来なくすることなのか、サーバーに負荷をかける事が目的なのでしょうか、わかりませんが二度とこういった事が起きなくして欲しいですよね。