突然外部PCからのApacheへのアクセスが不能に

このQ&Aのポイント
  • Linuxで問題が発生しているサーバ環境において、LAN外部のPCや携帯電話からApacheにアクセスできなくなった。交換したマザーボードの影響が考えられるが、詳細は不明。
  • 問題の症状は突然発生し、以前はLAN外部のPCや携帯電話から正常にアクセスできていたWebサイトが突然アクセス不能になった。交換したマザーボードとの関連性は不明。
  • サーバ環境において、LAN外部のPCや携帯電話からアクセス不能になった。関連性はそれほど明確ではないが、マザーボードの交換後に発生した可能性もある。
回答を見る
  • ベストアンサー

突然外部PCからのApacheへのアクセスが不能に

はじめまして、Linuxでのサーバ環境で困っています。 LinuxやApache、ネットワークに精通していないため、 確認するべき点、切り分けのポイントなどありましたらご教授のほど宜しくお願いいたします。 ■症状 Fedora上にApacheとTomcatで構成したWebサイトを運用していたのですが、 以前は正常にアクセスできていた本サイトが 突然、LAN外部のPCのブラウザや携帯電話からアクセスできなくなってしまいました。 ■補足 関連性ははっきりしませんが、 サーバに対して行ったことの心当たりとしては、 先日マザーボードが壊れてしまったため交換を行いましたが、 今回の症状はその交換以後に発生している気もします。 (交換から発覚まで2週間ほどあるため未確定) 交換後、今のところ本件以外は問題ありません。 交換の際に行った設定変更は ネットワークデバイスを新しいボードのネットワークに変更したことのみです。 (GUIの「ネットワーク」の「デバイス」から追加・指定) Apache関連含め他の設定変更は行っていません。 ■環境 Fedora 9 Apache 2.2.9(80番ポート使用) Tomcat 6.0.18 ■確認した点 ・SSHクライアントからは正常にアクセスできるため、 DDNSやルータのフォワード設定などは正常かと思っています。 ・内部DNSを設定しており、自PC・LAN内のPCからであれば 正常にアクセスでき、Webサービスも利用できます。 Apachのテストページも表示されます。 ・GUIの「サービス」では以下のようになっています。   -This service is enabled.   -This service is running. ・GUIの「ファイアーウォール」では 「WWW(HTTP) 80/tcp」が信頼できるポートとして設定されています。 ・/etc/httpd/logs内には特にエラーログは確認できませんでした ■以下は完全に理解できていませんがWebからの情報を元に確認した点です ・telnet localhost 80 →Trying 127.0.0.1... Connected to localhost. Escape character is '^]' ・netstat -ln | grep 80 →tcp 0 0 :::80 :::* LISTEN ・apachectl configtest →Syntax OK ・/etc/servicesに以下の記述があります。 http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol 以上です。 不足している情報がありましたらご指摘お願いいたします。

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

  • ベストアンサー
  • oraora777
  • ベストアンサー率20% (56/268)
回答No.1

技術や能力がない駄目な奴ほどFedora率が高いのでしょうね? しかもサポートが終了しているFedora9なんて何でつかうのでしょうか? Fedoraって各バージョンのサポートが1年ほどで終了するし サーバには向かないのに。サポート終了したら最新バージョンに変えるわけでもないのに >LinuxやApache、ネットワークに精通していないため、 精通していないのになんでサーバ公開するの?他人様の迷惑は考えないの? http://slashdot.jp/security/article.pl?sid=08/09/12/0619210 上記のサイトを読んでろくに能力がない人のサーバ公開がどれほど迷惑行為か理解してくださいね。

kaiman1616
質問者

お礼

返す言葉もありません。ありがとうございます。 今更ですが認識の甘さを自覚しました。 この問題の修正ができたら2さんの仰るとおり内部運用に切り替え、経験をつみ直したいと思います。

その他の回答 (1)

  • u-kid
  • ベストアンサー率50% (34/67)
回答No.2

Fedoraでサーバーを構築する問題点は1さんの指摘の通りですが、まずは内部ネットで経験を積んで下さい。 で、apache関係のトラブルでしたら、まず/var/log/apache2以下のログを確認するのが一番最初の作業でしょう。access.logで外部からのアクセスがapacheに届いているのか、受け付けられているのか、error.logでエラーが発生していないか。というあたりです。 質問文から推測すると外部からのアクセスがapacheまで届いていないような印象を受けます。この場合考えられるのは次の点でしょうか。 1)外部から内部へのルーターあるいはFWでパケットがブロックされている。   ・サーバーのIPアドレスが変わった。   ・MACアドレスが変わったためFWのルールと合わなくなった。   ・MACアドレスが変わったためルーターからサーバーまでのルーティングが出来ていない。 2)サーバーマシンのSELinux、iptablesなどなどでパケットがブロックされている。   ・イーサネットのインターフェイス名が変わった。   ・MACアドレスが変わった。 他にもapache等のルールも関わってきますので、ログを見ながら切り分ける必要があります。

kaiman1616
質問者

お礼

ありがとうございます。アドバイスの通り、内部運用に切り替え様子を見たいと思います。 それとは別にせっかくなのでこの問題は解決しておきたいため いただいたヒントを元に確認してみます。解決したらご報告を掲載いたします。

関連するQ&A

  • apacheのコンテンツ(html,cgi,php)にアクセスしようと

    apacheのコンテンツ(html,cgi,php)にアクセスしようとするとtomcatが応答してしまいます。 現在、CentOS5.4とApache2.2.3の環境でWEBサーバー構築の作業をしています 基本的な所はhttp://centossrv.com/apache.shtmlのサイト様等を参考にして、 設定を行い、テスト用のindex.htmlも用意しました。 早速http://localhost/index.htmlにアクセスした所、tomcatのインデックスページへと繋がってしまいました。 localhostを127.0.0.1やサーバー名に変更しても同様でした。 確認してみた所、現在同じ環境にtomcat5.5.23が存在しており、apacheと連携する様に設定されていて、 8080ポート指定無しでもtomcatが応答する様になっているようですが、 その設定の上で動いているWEBシステムもあるため、その辺りの設定をいじる事はできません。(検証用の一時的な変更もNG) tomcatとapacheの連携はそのままで、apacheのコンテンツにアクセスする為に、 apache側でどのような対応をしてやればよいか、ご教示いただけませんでしょうか。

  • 外部からのアクセス

    WindowsXPでApache(Port 10873)を立てて http://localhost:10873/ http://(ローカルネットワークのIP):10873/ では閲覧できるように設定し ルータでは(RT-200NE)で [パケットフィルター] Wan:チェック 種別:通過 送信元:* あて先:ローカルネットワークのIP プロトコル:TCP 送信元ポート:10873 を設定し [静的IPマスカレード設定]では 変換対象プロトコル:TCP 変換対象ポート:10873 あて先アドレス:ローカルネットワークのIP あて先ポート:10873 に設定し http://www.cman.jp/network/support/port.html な外部ポートチェックで開放とでているのですが いざアクセスしてみると あいていません Windowsのファイヤーウォール周りが怪しいと思うのですが eTrustを無効にしても ファイヤーウォールを無効にしても まったく見れません どなたかわかる範囲でいいですんでアドアイスよろしくお願いします。

  • Apache→Tomcatでセッション維持されない

    Apache->Tomcatでセッションが維持されない Apacheのproxy_ajp.confの設定を ProxyPass /xxx/ ajp://localhost:8009/ とした時にhttp://サーバー名/xxx/(webapps内フォルダ名)/ でアクセスした場合アクセスする度に新しいセッションIDになってしまします。 Apacheのproxy_ajp.confの設定を ProxyPass / ajp://localhost:8009/ とした時にhttp://サーバー名/(webapps内フォルダ名)/ でアクセスした場合はセッションIDは保持されます。 http://サーバー名/でアクセスした時はTomcatのwebappsとは別の場所に配置したWebサイトを表示させている為、 【ProxyPass / ajp://localhost:8009/】とは設定したくはないんですが・・・ どうしたらよいでしょうか・・・? 今の状況 ■http://サーバー名/xxx/(webapps内フォルダ名)/  でアクセスするとセッションが保持されない。 ■Apache単体でphpを使った時、セッションは保持される。 ■8080ポートを使ってTomcatへ直接アクセスした場合、セッションは保持される。 環境 OS:CentOS 5 Apache:2.2 Tomcat:6.0

    • ベストアンサー
    • Java
  • apacheとtomcatの連携

    運用中にApacheとTomcatの連携が出来なくなり、ApacheからTomcatにアクセス出来なくなります。 ApacheとTomcatを再起動すると、またいつも通りにアクセスが出来るようになります。 環境は以下の通りです。 OS:Red Hat Enterprise Linux 3 Java:j2sdk-1_4_2_08 Apache:httpd-2.0.54 Tomcat:jakarta-tomcat-5.0.28 アクセスが出来なくなった時のApacheのエラーログには 下記のように表示されます。 [notice] Apache/2.0.54 (Unix) mod_jk2/2.0.4 configured -- resuming normal operations [error] channelApr.open() attempt to connect to 10.1.1.55:8009 (10.1.1.55) failed 111 [error] ajp13.connect() failed ajp13:localhost:8009 [error] ajp13.service() failed to connect endpoint errno=9 Bad file descriptor [error] ajp13.service() Error forwarding ajp13:localhost:8009 1 1 [error] lb.service() worker failed 120000 for ajp13:localhost:8009 [error] lb_worker.service() all workers in error or disabled state [error] mod_jk2.handler() Error connecting to tomcat 120000, status 503 エラーログを調べたのですが、SELinuxがONになっているとアクセスが出来なく なったりするみたいですが、SELinuxはインストールされていません。 もし、解る方がいらっしゃいましたらすいませんが、よろしくお願い致します。

  • tomcat アクセスエラー

    tomcat webサーバにアクセスする際に以下の条件で、 タイムアウトによりアクセスできません。 【apacheまたはtomcat(ポート8080)画面が見える条件】 (rootユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ (一般ユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ http://(ip or ドメイン):8080/ 【apacheまたはtomcat画面が見えない条件】 (rootユーザ) http://(ip or ドメイン):8080/ 何か原因など考えられますでしょうか? よろしければご教授ください。 よろしくお願いいたします。

  • Apache2.2とTomcat6.0の連携方法

    Apache2.2とTomcat6.0の連携がうまくいかず、困っています。 宜しくお願い致します。 ■問題点 ApacheとTomcatの連携の設定を行い、http://localhost/examplesを 表示させようとしましたが、[ページが見つかりません]と表示され、 ApacheとTomcatの連携が出来ません。 以下に設定した内容を記載致しました。 設定内容に不備があればご教授お願い致します。 ■Apacheの設定は以下の様にしています。 C:\Program Files\Apache Software Foundation\Apache2.2\conf 内の httpd.confを編集 (1)コメント行の有効化 #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 先頭の「#」を外し、有効化する。 ↓ LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so (2)文末に以下を追加する。 (Apacheへの要求を Tomcatにて処理が行われる様にする。) <Location /examples/> ProxyPass ajp://localhost:8009/examples/ </Location> <Location /examples/> ProxyPass ajp://localhost:8009/jspbook/ </Location> ■備考 1.Apache2.2インストール後、Apache2.2サーバを起動させ、 http://localhost/ が表示される事は確認出来ています。 2.Tomcat6.0インストール後、Tomcatを起動させ、 http://localhost:8080/ が表示される事は確認出来ています。 3.Apacheのバージョン:Apache2.2.6  Tomcatのバージョン:Tomcat6.0.14 宜しくお願い致します。

  • TomcatがApacheと連動しているのか、単独で動いているのかわかりません。

    ★動作環境: Tomcat3.3.2 Apache2.0.53 Java J2SE1.3.1_15 mod_jk.dll WinXP で動作させようとしています。 それぞれをインストールして、特に設定変更することなく、 コマンドプロンプトを開いて、 c:\tomcat3.3.2\binへディレクトリを移動して、startupと入力すると、tomcatが正常に動作します。 そして、Apacheを起動して、 ブラウザで、http://localhsot:8080/exampleと入力すると「/のディレクトリの一覧」 ファイル名 images/ jsp/ servlet/ が表示されます。 でも、これって、TomcatとApacheが連動して動いているんじゃなくて、Tomcat単独で動いているんではないかとおもって、 そもそも、TomcatとApacheが連動して動いているってどうやったらわかるんでしょうか? http://localhost/exampleと入力しただけで、表示されれば連動してることになるんでしょうか? Webで検索して、TomcatとApache の設定について書いてるのを参考にして、httpd.confをいじってみてもApachが動作してくれません。 やってみたことは、次のとおりです。 1)apacheのmodulesディレクトリにmod_jk.dllをコピーして置く。 2)apacheのhttpd.confファイルの最後に以下を追加する。 Include "C:\tomcat3.3.2/conf/mod_jk.conf-auto" 3)Tomcatを起動する 4)Apacheを起動させようとする。 このように設定するように書いてあるサイトが多かったので、やってみても、Apacheが起動しなくなります。 どのように、設定すればいいのでしょうか?

    • ベストアンサー
    • Java
  • ApacheとTomcatの連携が出来ない

    Apacheのドキュメントルートフォルダ内でPHPとPerlが動くよう設定しています。今回、さらにJSPも動かせるようにTomcatを導入し、Apacheとの連携を試みたのですが、どうしても解決できない問題に躓いてしまいました。 http://journal.mycom.co.jp/special/2007/tomcat6/007.html 上記のサイトのように設定したのですが、まったくうまくいきません。 コメントアウトも外しましたし、リダイレクトの設定もしましたが、http://localhost/リダイレクト先/でアクセスすると404エラーが出ます。:8080とTomcatのデフォルトポート番号を足すとアクセス出来るので、リダイレクトが出来ていないようです。が、サイトに載っている作業は全部やったので自分ではお手上げ状態です。なにがいけないのでしょうか??? 環境は OS: Windows XP Apache: v2.2.4 Tomcat: v6.0.13 です。

  • apacheとサーバについて

    apacheとtomcat、サーバ接続についてくわしいかたお願いします。 環境: Windows vista Apache2.0.61 Tomcat5.5.25 で tomcatとapacheは単独でうごきますし、 mod_jkを使い、apacheとtomcatを連携させました。 その際のhttpd.confには以下を追記しました。 末尾 <IfModule mod_jk.c> JkWorkersFile "C:\Program Files\Apache Group\Apache2\conf\workers.properties" JkLogFile logs\mod_jk.log JkLogLevel warn JkMount /*.jsp worker1   →(1) JkMount /servlet/* worker1     →(2) JkMount /examples/* worker1    →(3) JkMount /tomcat-docs/* worker1   →(4) </IfModule> において(4)は自分で作成(追加)しhttp://localhost/tomcat-docs/でみることができました。 しかし(3)においてはexampleに対応するファイルがtomcatに入ってなかったため、見れないのはわかります。 ここで(1)ですがこれはjspファイルを見れるようにするという意味ですよね? ということは もし、自分で○×.jspというファイルをlocalhostで見たい場合は httpd.confに JkMount /○×/* worker1と追加すればみれるということでしょうか? 追記して確認したところwebページがみつかりませんとの表示があります。 また、localhostでなく外部から○×.jspに接続されることを考えた場合、http://localhost/○×.jsp/のlocalhostに自分のIPアドレスを入れてあげれば外部からもみることができますよね? 質問ばかり&拙い文章ですいません。 なお○×.jspは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\rootsの直下に入っています。 httpd.confと、サーバ接続の編集があいまいになっています。

  • ホーム内のPCにアクセスするには?

    IPv4のアドレス192.168.1.46のPCにあるTomcatのWebコンテナの 中のWebページにアクセスしたい場合どうすればいいのでしょうか? PC1からPC2にアクセスしてTomcat中のウェブページにアクセスしたいのです。 PC1 192.168.1.46 (Tomcat:アクセスされるPC) PC2 192.168.1.32 (アクセスするPC) ゲートウェイ 192.168.1.1 ※PC1、PC2共に無線LANでネットワークにつながっています。(同じルーター) PC1でhttp://localhost:8080/webSample/index.htmもしくは http://192.168.1.46:8080/webSample/index.htmlと自分自身にアクセスすると接続できます。 l ですが、PC2からhttp://192.168.1.46:8080/webSample/index.htmlでアクセスしても PC1のウェブページにアクセス出来ませんでした。