503エラーの発生原因は、Apacheモジュールのアップデートによる障害
一昨日の9月27日くらいから、記事の更新や追加をしていたら何故かやたら503エラーが出るなあ…と思っていたのですが、今日になって更に頻度が上がった気がしました。
エラーメッセージはこんな感じ。
Service Unavailable
503error
Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems.
Please try again later.
そこで弊社が借りているレンタルサーバーの運営企業であるさくらインターネットのコントロールパネルを見に行くと、すごい件数のエラーが出ていました。
ここ数日で特に大きなデータをサーバーに追加した覚えも無く、WordPressの更新も正常に終了しているし、CGIなどのプログラムを改造した覚えも無い。
となるともしかして、海外からの不正アクセス攻撃によるアクセス過多かしら…と慌ててさくらインターネットさんに問い合わせしてみると
「27日のApacheモジュールのアップデートに問題があり障害が発生している」
ということでした。
めっちゃ謝ってくれたけど別に海外からのアクセス攻撃とかじゃないなら全然良いです…むしろお忙しい時に焦って電話問い合わせしちゃってすいません…!
現在復旧作業中で、本日29日中には復旧予定とのことです。
さくらさんのお知らせも合わせてご覧ください。
[緊急]さくらのレンタルサーバ・さくらのマネージドサーバ
今度から503エラーがいっぱい出たら、ちゃんと障害情報のページも見に行こうと思います。
503エラーの原因は色々
そもそも503エラーとは、Service Unavailable(サービス利用不可)というエラーコードです。
「 サーバーにアクセスできず、ページが表示できません 」 という状態を指します。
今回はさくらインターネットさんのアップデート不具合が原因でしたが、その他にも様々な発生原因があります。
以下では原因とその対策をご説明します。
まずはリソース情報を確認
さくらインターネット 会員認証ページ で
会員ID(大体小文字のnから始まる英数字)
会員メニューのパスワード(自分で決めた任意のパスワード)
この2つをを入力してログインします。
上部メニュー【 契約情報 】⇒【 契約サービスの確認 】をクリック。
契約しているサーバーの【 サーバー設定 】をクリック。
サーバーコントロールパネルの左メニュー【 リソース情報 】
⇒リソース使用状況でエラーの発生件数や人数を確認。
エラー原因を記載してくれていることもあるので【 コメント 】欄も確認しておきましょう・
ここで特にエラー原因がつかめなかった場合は、障害情報の確認やサポートへの問い合わせを行います(下記参照)。
サーバー側の障害(今回はこれ)
この場合は自分でできることは特に無いので、サーバーさんが復旧してくれるのを待つのみです。
とりあえずやっておくとしたら、サイトトップやSNSで「 現在アクセスエラーが起きやすい状態です、すいません 」 とお知らせを出すことくらいでしょうか。
対策;障害情報を確認し、不明であればサポートに問い合わせる
さくらインターネット 障害情報のページ
ここに特に該当する情報が無ければ、さくらインターネットのサポートに問い合わせてみましょう。
上部には現在多発しているエラーに関する情報などが、ページ中ほどにメール問い合わせ窓口と電話番号があります。
大きなデータを頻繁に送信・保存したために規制がかかった
動画や大きなプログラムデータを、時間を空けずにサーバーとやり取りした場合に、サーバーとの契約で1日に決められている最大データ転送量を超えてしまって規制がかかることがあります。
対策;サポートに問い合わせてデータ状況を確認、規制解除をしてもらう
サポートに電話して状態を確認し、規制を解除してもらう必要があります。
さくらインターネットのサポートに問い合わせてみましょう。
上部には現在多発しているエラーに関する情報などが、ページ中ほどにメール問い合わせ窓口と電話番号があります。
サーバーの限界を超えたアクセスが集中した
SNSやニュースサイトで取り上げられた時など、サイトに一気にアクセスが集中してサーバーが処理しきれずにアクセス制限がかかることがあります。
また、海外からの不正アクセスで異常な数のアクセスがかかった時にも同じようにアクセス制限がかかってしまうことがあります。
対策;htaccessファイルでアクセス拒否をする
海外からの不正アクセス過多によりエラーが発生した場合は、どこの国からのアクセスなのかを特定し、その国ごとアクセスを拒否すると良いかもしれません。
こちらの記事の 『 .htaccessで国を指定してアクセス拒否 』 の項目をご覧ください。
サイトデータの中のCGIやPerlなどのプログラムが誤った記述になっている
自サイト内で動かしているプログラムを、編集や更新で変更した際に記述を間違えて不正プログラムとしてサーバーから弾かれることがあります。
対策;プログラムを修正
何かのプログラムを編集した覚えがある場合は、その記述を編集し直して正常な状態にすればアクセスエラーが回復するはずです。