ウェブサイトに関する各種エラーについてご案内させていただきます。
お客様で運用されているサイトでエラーが出てしまった場合にお役立ていただければ幸いです。
ウェブサイトのエラーについて
日ごろ何気なくウェブサイトにアクセスしますが、たまに表示速度が極端に遅い時や、「ページが見つかりません」といったエラーページに遭遇することはありませんか?
特に、大手検索サイトやニュースなどに掲載された場合、関連するウェブサイトやブログにアクセスが集中し、なかなか繋がらない場合があると思います。
管理されているウェブサイトでページが表示されないなどの思わぬトラブルが発生してしまうと、サーバーの障害かな?と慌ててしまいますが、サーバー障害ではないケースもありますので、いくつかの事例を交えて説明させていただきます。
エラーの原因はいろいろ
例えば、アクセスの集中により、なかなかサイトが表示されないケースがあります。
これは、人気アーティストのチケット予約の電話をしても、オペレーターに繋がりにくい状況と似ています。
また、ファイルのパーミッション(属性)が適切に設定されていない場合にも正常にサイトが表示されずにエラーとなってしまいます。
ウェブサイトにアクセスすると、クライアント(ブラウザ)は、ウェブサーバーにコンテンツをリクエスト(要求)し、その結果、応答内容や応答コードを返します。
応答コードは数字で表され、例えば正常にリクエストに応答があった場合は、コンテンツと一緒に「200」番を返しますが、何らかの要因によりウェブサイトが表示されない場合は、応答コードとして400番台や500番台のエラーを返すようになっています。
応答コードの種類と対処方法
では、どのような応答コードがあり、どのように対処すればいいのでしょうか。
応答コードの中でも、特にお問い合わせをいただくエラーを抜粋して説明いたします。
■403:Forbidden(アクセス権限なし)
アクセス先のパーミッション(属性)の設定が適切でない可能性があります。
対象ディレクトリやファイルへの閲覧権限などがないことが要因のエラーですので、パーミッションをご確認ください。
[各拡張子におけるパーミッションの設定例]
・htmlファイル:604 または 644
・.htaccessファイル:604 または 644
・phpファイル:604 または 644
・phpファイルが含まれるディレクトリ:705 または 755
・cgiファイル:705 または 755
・plファイル :705 または 755
※2桁目の数字(グループ権限)は、ファイルの特性上可能であれば「0」にしていただくことで、セキュリティ対策にもなります。
■404:Not Found(存在不明)
アクセスしようとしているファイルが存在しないことが原因です。
アドレス(URL)にお間違いがないか、またはサーバー上に実際にファイルが存在しているかをご確認ください。
■500:Internal Server Error(サーバー内部エラー)
「.htaccess」ファイル内の記述に誤りがある可能性があります。
またパーミッションやPerlなどのパスが適切でない場合にも、「500」エラーが出ることがあります。
関連ファイルの記述内容や設定に誤りがないかご確認ください。
■503:Service Unavailable(サービス利用不可)
アクセス過多やサイトの構造などにより、リクエストが増加すると、処理しきれないリクエストが滞留し、リソース(CPUやメモリなど)に負荷がかかってしまい、サーバーダウンに繋がる場合もあります。
そのようなサーバーダウンを未然に防ぐため、同時接続数に上限を設けるなどの対策があります。
同時接続数の上限に達しますと、それ以上のアクセスがきても、エラーを返し、サーバーにそれ以上負荷がかからないようになっております。
サーバーの不具合や障害ではありませんので、アクセス数の減少やサイト構造の変更(画像などの重いデータを減らしてページを軽量化することや、CMSのキャッシュ化機能の導入によるページ速度の向上など)により閲覧可能な状態に戻ります。