アクセス制限で解決 503エラーの原因と対処法

スポンサーリンク
スポンサーリンク

503エラー表示

いわしブログで503エラーが頻発するようになった時の原因と対処法をご紹介します。

いわしブログのPVは現在1000~1500PV/日ですが、この程度で503エラーが出ることは通常考えられません。調べてみると、謎の海外サイトからのアクセスが原因でした。ここのIPアドレスを.htaccessに記述してアクセス制限することで、503エラーは表示されなくなりました。

今回の503エラー頻発は、いわしブログで使っているさくらインターネットのサーバーで起こった事例ですが、他のサーバーでも参考になると思います。

スポンサーリンク

PVが少ないのになぜか503エラーが頻発

先週のことですが、いわしブログの更新作業中に、なぜか503エラーが頻発するようになりました。

更新作業中の503エラーなので、最初はWordPressがおかしくなったのかと思いましたが、いわしブログの記事を見ても同じように503エラーが表示されます。

ついにGunosy砲やYahoo砲がやってきたかと思ってGoogleアナリティクスを見ると、リアルタイムは普段通りの数字でした。アクセスが集中したわけではないようです。

あれれ、1000~1500PV/日のいわしブログで、503エラーはありえない。いわしブログで使っているさくらの共用サーバーは、この程度のアクセスに耐えられないはずがありません。ブログの表示速度を調べても、特に変わったことはありません。

ここで役立つのがサーバー側の情報です。いわしブログに使っているさくらインターネットのレンタルサーバーには、コントロールパネル内に「アクセスログの設定」と「リソース情報」という項目があります。ここを見れば、サーバーの状況がわかります。

サーバーのアクセス制限 503エラー

サーバーの状況を説明する前に、503エラーについて簡単に説明しておきます。

みなさんはウェブサイトやブログを見ている時に、このようなエラーメッセージが表示されたことはありませんか?

503エラー表示

このエラーメッセージは503エラーと呼ばれ、簡単に言うと「サーバーのアクセス数の制限を超えていますよ」という意味です。安い共用サーバーでは、一時的に多量のアクセスが集中すると捌き切れないので、503エラーを表示して閲覧制限をかけます。

503エラーは混雑時の入場制限みたいなもんでしょうか。Gunosy砲やYahoo砲を喰らうとよく発生するのですが、いわしはまだ一度も喰らったことがありません・・・(T_T)

こちらに503エラーについての詳しい情報がありますよ。興味がある方はどうぞご覧ください。

http://www.cpi.ad.jp/column/column01/

503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処 | 知らないと損をするサーバーの話

スポンサーリンク

さくらのサーバー リソース情報

では、サーバーの状況を見ながら、何が起こっているのかを確認してみましょう。

まずはサーバーのリソース情報を確認します。コントロールパネル内の左メニュー「運用に便利なツール」→「リソース情報」をクリックすると、503エラーの発生状況が確認できます。

さくらインターネットサーバー リソース情報の確認

ご覧のとおり、503エラーが頻発していますね。一番多かった5月17日は15000回を超えています。

さくらインターネット サーバーコントロールパネル 503エラー発生状況

PV数も明らかに異常な数値ですが、503エラー対策として特定IPのアクセスを制限した24日以降は急激に減っています。

さくらインターネットサーバー リソース情報 PV数

503エラーが発生したユーザ数とCPU使用時間です。グラフ右側の平常運転とは明らかな違いがありますね。このグラフを見れば一目瞭然ですが、503エラー発生はしばらく気が付かなかった・・・

さくらインターネットサーバー リソース情報 503エラー発生ユーザ数とCPU使用時間

一方で、ユニークユーザー数とウェブ転送量は変化なしです。

さくらインターネットサーバー リソース情報 転送量とUU数

これでサーバーの状況がわかりました。続いてアクセスログを確認してみましょう。

さくらのサーバー アクセスログの設定

アクセスログの確認は、コントロールパネル内左メニューから「アプリケーションの設定」→「アクセスログの設定」をクリックしてください。

さくらインターネットサーバー アクセスログの設定

ちなみに、アクセスログの初期状態はご覧の通り、自分で設定しないとログが保存されないようになっています。

アクセスログはトラブル発生時のための大切な情報です。さくらインターネットのサーバーをお使いの方は、アクセスログの設定を確認して、ログが保存されているかどうかを確かめてください。

さくらインターネットサーバー アクセスログ設定画面

スポンサーリンク

Webalizerでアクセスを解析

さくらインターネットのサーバーには、アクセスログをWebalizerで解析できる機能が備わっています。アクセスログが残るように設定を変更すると、アクセス解析の表示に「アクセス解析」という項目が追加されます。

さくらインターネットサーバー アクセス解析

Googleアナリティクスでもアクセス解析は可能ですが、Webalizerを使えば、Googleアナリティクスには現れないアクセスの詳細まで解析できるようになります。

さて、解析結果におかしな数字がないか探してみると・・・ありました、ホスト名「198-23-238-206-host.enwebhost.net」から異常な回数のアクセスが記録されています。原因は恐らくコイツですね。

Webalizer アクセス解析 ヒット数異常

「198-23-238-206」はIPアドレスでしょうか。検索してみるとアメリカ合衆国と出ました。何のサイトかはわかりませんが、このIPからのアクセスを制限してやれば、503エラー問題は解決するはずです。

.htaccessでアクセス制限

「198-23-238-206-host.enwebhost.net」からのアクセスを制限するには、.htaccessを活用します。記載事項はたった1行だけ、「deny from」に続けて、アクセスを制限するIPアドレスを記載します。

頭の「198-23-238-206」の部分を、IPアドレス「198.23.238.206」に置き換えて、.htaccessに特定IPのアクセスを制限する「deny from 198.23.238.206」を記載すればOKです。

.htaccessを使ったアクセス制限はこちらが参考になります。.htaccessに関する詳しい記載例がたくさんありますよ。

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/access.html

ミケネコの htaccess リファレンス

あとは.htaccessをサーバー内のトップページと同じディレクトリにアップすれば、503エラーは収まるはずです。

スポンサーリンク

アクセス制限によって503エラー問題が解決

こちらがその結果です。ご覧のとおり、対策後は503エラーがほとんど表示されなくなりました。原因はやっぱり「198-23-238-206-host.enwebhost.net」からのアクセスでしたね。

さくらインターネット 503エラー発生状況

503エラーは一時的に多量のアクセスが集中することによって起こりますが、こんな事例もあるということで。

大抵のレンタルサーバーには、アクセスログの解析やサーバーの状況を確認できる機能が備わっています。503エラーに限らず、何かおかしいなと思ったら、まずサーバーの情報をチェックするようにしてください。

こちらも参考にどうぞ。xmlrpc.phpに対する攻撃への対処法です。放っておくと、503エラー頻発の原因になりますよ。

コメント

タイトルとURLをコピーしました