• ベストアンサー

Webページが表示されない場合の調査方法

有識者の方々お世話になります。 また、いつもありがとうございます。 最近サーバーで変な現象が起こっています。 Apache(httpd)のプロセスは動作しているのに Webページにアクセス出来なくなります。 サーバ起動直後はWebページにアクセス可能なのですが、 数日経つとページが表示できなくなります。 原因が全く分かりません。 調査の仕方など、/var/log/httpd/以下のログ以外に サーバ側で調べる必要のある箇所があるようでしたらご教授頂きたいです。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いろんな可能性を網羅するとかなりの項目になりますが。 「ページにアクセスできない」というのは具体的にどういう状態ですか? 一応、調査のポイントとしては以下の通りです。 (1)名前解決が出来ていない。 ダイナミックDNSを利用していて、いつの間にかIPアドレスが変わっているのにもかかわらず DNSレコードに反映されていない。 (2)ソケットの状況をチェックする OSによってコマンドは変わりますが、netstatコマンドやsockstatコマンドで OSがオープンしているソケットを確認してみてください。 httpdが80番をlistenしていなかったり、異常な数のソケットが開きっぱなしになっていませんか? (3)ルーティングテーブルをチェックする 滅多に無いですが、何かの拍子に経路情報が変更されることもあったりします。 (4)(そのサイトがJava等のWebアプリであれば)メモリやCPUの使用状況をチェックする topコマンドかvmstatコマンド等で、アプリが異常な動作をしてないかチェックしてみてください。 (5)じつはLANケーブルが抜けてる (6)OSが吐くログをチェックする FreeBSDだと/var/log/messagesですが、Linux等はあいにく存じてません。

ando211
質問者

お礼

ありがとうございます。 1から順にチェックしてみます。 大変助かりました、ありがとうございました

その他の回答 (1)

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.2

そのサーバーにloginできるなら 1. lynx http://127.0.0.1 等でローカルアクセス可能か見る lynx が入ってなければ telnet 127.0.0.1 80 GET / 2. telnet www.goo.ne.jp 80 等で外部にアクセスできるかチェック

関連するQ&A

  • ウェブページ改竄

    FreeBSD5.3でApache2.2,最新のOpensslで管理しているウェブサーバがあり,そのサーバ上でウェブサーバを構築していたのですが,この度,ウェブページの改竄の被害に合いました. どういった経路で改竄されたかを調べるために/var/log/ にあるログを見たのですが,思い当たるようなログが残っていませんでした. 考えられる方法としては, 1.ウェブ編集の初心者向けにftpのポートを空けていたので,そちらのパスワードをクラックされた(→ftpdに関するログ) 2.sshが破られてrootのパスワードが盗まれた 等があると思いますが,ftpdのログや,lastlogin,およびhistoryの情報,/var/log/messages の情報等にそれらに該当するようなアクセス等は残っていませんでした. クラック用のツールとして rootkit 等があるようですが,それらで関連するログも全て削除されているのか,どういった経路で改竄が行われたかを調べるための方法が分かりません. サーバ上にはXoopsのページがあり,そちらからのアクセスも怪しいかなとは思ったのですが,Apacheに関するアクセスログやエラーログからもこれといった情報は得られませんでした. 対策としては,パケットフィルタリングを行いアクセスを制限することにし,ssh以外のアクセスを排除することにしたので,大体の不正アクセスは防げると思いますが,今後こういった現象を防ぐための勉強として,改竄の手口,およびこういった場合の進入手口に心当たりがあれば,ご教授よろしくお願いします.

  • webページの表示が遅れる

    どういうタイトルにしたらよいか悩んでしまいましたが、 困っている現象としては 私が設置したApacheにおいたWebページのURLを ブラウザで表示しようと URL を入力すると 真っ白になってしばらく表示されず(ブラウザは読み込み中表示) 「読み込みの停止」か「F5」を押すとページがすぐ表示されました。 ブラウザを起動して最初に私のサーバにあるWebページを開くと この現象がほぼ毎回起きます。 他のサーバにあるWebページを開くときはこんなことないので なんとかしたいのですが、何が考えられるのでしょうか。 サーバはレンタルですが占有サーバです。 環境は FreeBSD 8.4 Apache 2.2 宜しくお願い致します。

  • httpdのエラーログをwebでリアルタイムでみたい

    php5、fedora4、apache2.0です。 httpdのエラーログ(/var/log/httpd/error_log)をリアルタイムに見たいのですが、何かPHPを使ってよい方法はないでしょうか? 今のところ、あるページにアクセスしたらSystem関数でシェルを実行し、ログをコピーしてきて表示するようにしていますが、上手くいきません。 $last_line = system('sh httpd_error.sh',$return_val); httpd_error.sh ---------------------------------- #!/bin/sh cp -v /var/log/httpd/error_log /var/www/html/log/ ----------------------------------- 「/var/log/httpd/error_log」へのアクセス権がないというエラーが出てしまいます。 PHPのsystem関数でシェルを実行した時って、誰が実行していることになるのでしょうか? また、これ以外にhttpdのエラーをリアルタイムにwebから見れる方法がありましたらご教授ください。 ヨロシクお願いします。

    • ベストアンサー
    • PHP
  • apache2のエラーページを変更したい

    Redhat9+apache2でwebサイトを構築しました。 サイトの無いページにアクセスしようとしたりCGIでエラーがあった場合 デフォルトで 404エラーなら /var/www/error/HTTPD_NOT_FOUND.html.var 500エラーなら /var/www/error/HTTPD_INTERNAL_SERVER_ERROR.html.var になってますが apacheのエラーページは寂しいので 自分で作り変えたいんですが プログラムの知識がないのでさっぱりわかりません。 簡単に変更する方法ってないんでしょうか? error.htmlを用意して、全てのエラーでこのerror.htmlに飛ばすようにしたいんです。 よろしくお願いします。

  • ウェブページが表示された瞬間にwwwを付加したい

    自宅サーバを構築している初心者です。 CentOS5 httpd2.2 【やりたいこと】 ヤフーのように http://yahoo.co.jpとしてアクセスすると、このアドレスのままページが表示されるのではなく、 ページが表示された瞬間にhttp://www.yahoo.jpと「www」がブラウザに付加したいのです。 これはどういう仕組みなのでしょうか? Apacheウェブサーバの設定?(転送設定関係?) 【外部DNS】 ダイナミックDNS(MyDNS.JP)を利用 ドメイン名:sample001.jp(独自ドメイン) MXレコード:mail ホスト名1:www ホスト名2:mail このように設定していて現状では http://sample001.jp http://mail.sample001.jp http://www.sample001 のどれでアクセスされてもページが表示されます。 この意味は分かります。 自分サーバも http://sample001.jpでアクセスされたら http://www.sample001.jpと「www」を付加するように設定したいのですが外部DNSの設定の問題なのか、Apacheウェブサーバの設定なのか分かりません。 なApacheの設定ファイル(/etc/httpd/conf/httpd.conf)は ServerName www.sample001.jp:80 としています。 よろしくお願いします。

  • 何が悪いとハッカーにwebページを書き換えられる

    仕事で会社のwebページを管理しております。OSはlinux(centOS 5.5)で、webサーバーは apache(httpd 2.2.17) を使っております。 よくニュースでハッカーにwebページを書き換えられた、という話を聞きますが、サーバーのパスワード(自分、root)をしっかり管理し、apache も常に最新版に保っていますが、それでもハッカーに侵入される可能性はありますか? 侵入されるとすれば、どこから侵入されるのでしょうか?

  • サーバーで公開しているページがなかなか表示されない

    レンタルサーバーでWEBサイトをいくつか公開してるのですが、 最近、時間はまちまちなのですが 急に公開しているページが、なかなか表示されなかったり タイムアウトでサイトにつながらなくなってしまいます。 原因をしらべたいのですが 何から調べるのがいいのかわからなく困っています。 サーバーの方からメールで繋がらなくころのTOPコマンド内容がくるのですが、何かこの内容からわかる部分とかあるでしょうか? すいませんが、 もしなにかわかるようなところがありましたらよろしくお願いします。 heavy loaded. process (220) : 111 load (5) : 5.78, 7.22, 6.84 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND apache 4814 2.9 26.3 350456 272288 ? D 04:45 0:56 /usr/sbin/httpd apache 4813 2.0 31.6 424168 326876 ? D 04:45 0:38 /usr/sbin/httpd apache 4071 0.9 0.3 19916 4036 ? S 03:58 0:45 /usr/sbin/httpd apache 4327 0.9 0.3 19836 3796 ? S 04:13 0:37 /usr/sbin/httpd apache 3740 0.8 24.5 332128 253488 ? D 03:44 0:49 /usr/sbin/httpd apache 4006 0.8 0.3 19880 3952 ? S 03:54 0:42 /usr/sbin/httpd apache 4815 0.5 0.3 19848 3880 ? S 04:45 0:09 /usr/sbin/httpd apache 3711 0.3 0.3 19844 4044 ? S 03:44 0:18 /usr/sbin/httpd apache 4325 0.3 0.4 19904 5120 ? S 04:13 0:12 /usr/sbin/httpd apache 4328 0.3 0.3 19816 4004 ? S 04:13 0:12 /usr/sbin/httpd 。。。。

  • webページが表示されないときに使用するコマンド

    レンタルサーバにて、Apacheを導入しwebサーバを運営しております。 クライアントからwebページが表示されないとき 皆様は「どのようなコマンドをどのような意図で使用し、 障害を切り分けていくのか?」を教えて頂きたいのです。 私の場合は、ps、vmstat、freeを使用して 「ゾンビプロセスがないか?」「IO負荷が無いか」 ぐらいしか思いつかないのです。 ご教授お願いします。

  • 外部WANアドレスでWebページが表示されない

    現在CentOS6.5にWebサーバを構築しております。 (つい先日も違う件でご質問させていていただいております) ホームディレクトリは「/usr/wiki/html」に変更しており、自サーバから、 http://192.168.*.** にアクセスするとトップページが表示され、 同じネットワークにある端末からもトップページが表示されます。 しかし、外部からWAN側のIPでアクセスしても、トップページが表示されません。 「http://WANのIP」でアクセスすると以下が表示されます。 「 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log 」 また、 「http://WANのIP/index.html」でアクセスすると以下が表示されます。 「 Web サイトによってこのページの表示を拒否されました HTTP 403 可能性のある原因: この Web サイトを表示するにはログインが必要です。 対処方法: 前のページに戻る。 詳細情報 このエラー (HTTP 403 アクセス不可) は、Web サーバーに接続できましたが、この Web ページを表示するアクセス許可がなかったことを意味します。 HTTP エラーの詳細はヘルプを参照してください。 」 ローカルで表示されたトップページが表示されるはずだと思っておりますが、 表示されず、httpd.confファイルをよく見直してみたのですが、まったく解消されずに 悩んでおります。 後、ホームディレクトリは「/usr/wiki/html」に変更しており、 このディレクトリのオーナーは「apache」です。 アクセス権は「rwxr-xr-x」です。 確認すべき箇所を、申し訳ございませんが、ご教授願いたく存じます。 まだ勉強中の身でございますが、ご指導をよろしくお願いいたします。 <使用環境> CentOS6.5 Apache 2.2.15 MySQL 5.1.71 PHP 5.3.3

  • WEBサーバーへアクセス集中時のページ表示について

    専用回線を使っている、WEBサーバーがあるのですが、 とあることに、ページ配信で回線を圧迫し始めました。 YAHOOとかで、ヒットページへアクセスした場合、混雑を知らせるページがあるように、下記の環境で構築することは可能でしょうか。 回線からWEBサーバーまでの環境 専用線(1.5M帯域)--Proventia M50(F/W)-- WEBサーバー(Apache)                            L WEBサーバー(Apache) Proventiaで出来なければ、その次にWEBサーバーとの中間に 中継サーバーみたいなので出来ませんか?