gooポイントが当たる質問投稿キャンペーン>>

お世話になります。

現在、windows7にtomcatをいれてサーバ構築を行っております。
しかし、IEから接続しようとした時に、localhost(http://localhost:8080)でアクセスするとページが表示されるのですが、自PCのIPアドレス(http://192.168.***.***:8080)でアクセスした場合、「ページが表示できません」というエラーが表示されてしまいます。

確認した点といたしましては、
 ・自分のIPにpingは通る。
 ・windowsファイアウォールは切断して試行済。
 ・tomcatの設定でIPをはじいてはいないことは確認済。
 ・IPアドレスはパソコン側で固定に設定してあり、競合もしていない。
以上の4点になります。

尚、ウイルスソフトはフリーのavastを使用しており、ファイアウォール機能が存在しないため、切断することはしていません。

考えられることは調べてみたのですが、手詰まりしていました。
お手数おかけいたしますが、宜しくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

ぱっと思いつくのは



・そもそも通信できていない
 →そのクライアントからサーバに対してpingを実行し、replyはありますか?

・ファイアウォール
 →切断済みとのことでしたが念のため

・実はポート番号を指定していない
 →8080は指定されていますか?

・実はTomcatの設定で除外している
 →http://www.javaroad.jp/opensource/js_tomcat7.htm


確実なのはTomcatのログを見ることだと思います。
何かしら出力されているのであれば、Tomcat周りの設定の問題でしょうし、
何も出ていないのであれば、それ以前(NWやFW)の問題だと思います。
    • good
    • 0
この回答へのお礼

さっそくのお返事有難うございます。
本日、hyter様にご指摘いただいた箇所等を調べながら設定したところ、やっと解決することができました。
原因はtomcatが起動するJAVAの設定でした。
デフォルトでIpv6が優先的に使用されるようになっていたため、JAVAの起動時のシステムプロパティにIpv4を優先的に使用するように記述したところ、無事、動作致しました。

hyter様、Lchan0211様、本当に有難うございました。

お礼日時:2011/07/20 16:43

> ・tomcatの設定でIPをはじいてはいないことは確認済。


というのは、server.xmlのConnectorタグ(address属性)を
確認済みということでしょうか?

No.1さんが紹介されたコマンドの結果、LISTENしているIPが
0.0.0.0になってなければ、上記のaddress属性を確認してください。

あと、ブラウザでproxyサーバを設定していませんか?
もしproxyサーバを使用しているなら、例外設定に
192.168.*を追加してください。
    • good
    • 1
この回答へのお礼

お礼が遅くなり、申し訳ございません。
「netstat -an | findstr 8080」コマンドを試してみたところ、Listenはしていましたが、結果が、TCP [::] :8080 [::]となっておりました。
そこで、Tomcat設定ファイルのserver.xmlの「Conecctor」属性にaddress="0.0.0.0"を追加したところ、サーバ側で自IPを指定しての接続はできました。
hyter様、Lchan0211様のお陰で、どうにかここまではたどり着くことが出来ました。

ただ、LAN内にあるその他のクライアント機から接続すると、やはり「ページが表示できません」といエラーが表示され、クライアント機から「netstat -an | findstr 8080」コマンドを実行してみたところ、サーバではListenと表示されていたところが、SYN_SENTと表示されていました。
調べてはみたのですが、それらしい記述がなく途方に暮れているしだいです。
お手数ではありますが、お時間がありましたら、回答のほどをよろしくお願いいたします。

お礼日時:2011/07/19 14:48

DOSプロンプトで


 netstat -an | findstr 8080
を実行して、192.168.X.Xのアドレス、または0.0.0.0のアドレスで
Listenしているかどうかは確認されましたか?
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ございません。
「netstat -an | findstr 8080」コマンドを試してみたところ、Listenはしていましたが、結果が、TCP [::] :8080 [::]となっておりました。
そこで、Tomcat設定ファイルのserver.xmlの「Conecctor」属性にaddress="0.0.0.0"を追加したところ、サーバ側で自IPを指定しての接続はできました。
hyter様、Lchan0211様のお陰で、どうにかここまではたどり着くことが出来ました。

ただ、LAN内にあるその他のクライアント機から接続すると、やはり「ページが表示できません」といエラーが表示され、クライアント機から「netstat -an | findstr 8080」コマンドを実行してみたところ、サーバではListenと表示されていたところが、SYN_SENTと表示されていました。
調べてはみたのですが、それらしい記述がなく途方に暮れているしだいです。
お手数ではありますが、お時間がありましたら、回答のほどをよろしくお願いいたします。

お礼日時:2011/07/19 14:48

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTOMCATを入れたPCのHTMLが別PCから見えない

お世話になります。
質問場所が違うかもしれませんが、適当な場所がわからなかったのでこちらでさせていただきます。

あるPC(Aとします)にTOMCAT4.1を入れた状態でWEBコンテンツを作成しました。
A自身では「http://{AのIP}:8080/test/index.html」のアドレスをIEのアドレスバーにいれてEnterすると閲覧できるのですが、別のPCから見ようとすると「ページを表示できません」や「Error」が表示されます。
ためしに「http://{AのIP}:8080/」でTOMCATのページが開くか確認してもやはり同じエラーが表示されます。

TOMCATを入れただけで特に設定などはせずとも別PCからも見れると聞いたのですが、何か設定が必要だったのでしょうか?
ご存知のかた教えてください!!

★AのPCの環境★
 WindowsXP Pro SP2
TOMCAT4.1

★別PC★
 Windows2000またはWindowsXP
 IE6

Aベストアンサー

サーバ側がWinXPのSP2と言うことなので、Windowsファイアウォールが
有効になっているものと思われます。
以下のページを参照し、8080ポートを開放してみて下さい。

参考URL:http://www.atmarkit.co.jp/fwin2k/operation/xpsp2dep02/xpsp2dep02_04.html

QリモートからTomcatにアクセスするには?

はじめまして。Javaの初心者です。
PCを2台所有しているのですが、一方のPCのブラウザから
他方のPCのTomcatを利用したいのですが、どうすれば
よいのでしょうか?一応2台のPCは互いにpingを
発行するとReplyを返します。
PCの環境は2台とも
WinXP Home
Tomcat 5.5.17
です。
どうかご教授をよろしくお願いします。

Aベストアンサー

Tomcatは正常に起動していますか?
Tomcatを起動して、そのサーバから
http://localhost:8080/
でアクセスできますか?

ファイアーウォールの設定が怪しいような気がするのですが…
ポート番号80だと一般的に問題ないと思うので、80番のポート
使うようにしてテストしてみてはいかがでしょうか?

QTomcatは起動しますが初期index画面が表示できません

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection refused
--------------------
Description: Connection refused
と表示されてしまいます。

下記に参考になるかわかりませんが、各種起動状態を記載いたします。アドバイスよろしくお願い申し上げます。

◆コマンドプロンプトで
>ping localhostと入力すると、
-----
Pinging yamamoto [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
-----

と表示されます。また、
>telnet localhost 8080の場合は
-----
接続中: localhost...ホストへ接続できませんでした。 ポート番号 8080: 接続に失敗し
ました
-----
と表示されます。

お手数ですが、よろしくお願い申し上げます。

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection re...続きを読む

Aベストアンサー

>Tomcatは起動しますが
とのことですが、Tomcatが起動していないと思います。

pingが通るのはTomcatと無関係で、PCが立ち上がっていれば帰ってくると思います。

telnet localhost 8080
で接続できないとのことなので、Tomcatが起動できていないのではないでしょうか?

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QApacheでhttp://localhost/が表示されない

Apacheバージョン2.0.50をインストールし、設定ファイルは一切変更していない状態でhttp://localhostと入力しても「あなたの予想に反して・・・」のページが表示されません。
何回かApacheの再インストールも試してみましたが変化がありません。
ローカルで動作確認するだけなので、インストールにあたってNetworkDomainなどのアドレスは「localhost」を入力しています。
何か原因を特定する方法はありませんでしょうか。
ちなみにOSはWindowsXPのHomeEditionです。

Aベストアンサー

(1) まずは、Apacheが起動しているか確認しましょう。
  これは管理ツールのサービス、Apache Server Monitorを見ればわかります。

(2) ポート番号80がLISTEN状態になっているか確認しましょう。
  これはnetstatコマンドで確認できます。

(3) パーソナルファイアウォールソフトをインストールしているなら、
  localhost:80 からの接続を許可しているか確認してみましょう。

(4) IISなど、他のwebサーバを同時に動かしていないか確認してみましょう。

(5) ブラウザでプロクシサーバを指定しているのでしたら、
  localhostはプロクシーを見ない、など設定してみてください。


ほかにもいろいろありますが、Apacheの設定の前に、これくらいは確認しましょう。

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Q同一LAN内からapacheにアクセスできない

同一LAN内のWindowsマシン(192.168.0.3)からWebサーバ(192.168.0.2)にアクセスできません。

[サーバ機]
OS: CentOS5
Kernel: 2.6.18
httpd: Apache/2.2.3

httpd.confは全てデフォルトのままにしてあります。
サーバ機から自身にアクセス(lynx -head http://192.168.0.2)すると正常に200 OKを返してくるのですが、Windowsマシンのブラウザからだとエラー(ページが見つからない)になってしまいます。
どなたか原因の分かる方よろしくお願いします。

Aベストアンサー

先の回答で確認を忘れていましたが、実施する際にクライアント側のパーソナルファイアウォールは切っていますよね? 切っているという前提で話を続けます。

確認いただいた結果から見て、サーバ側で問題がありそうですね。apacheにパケットが届いていない様です。
ただ、何が問題かはさらに調べないといけません。(今までの調査は、問題がどこにあるかを判断するためのものです)

(1) apacheの設定の問題
httpd.confの設定を間違えている可能性があります。

(2) サーバOSの通信設定の問題
iptableなど、ファイアウォール機能のサーバがインストールされていて、それがパケットを遮断している可能性があります。

(3) その他
上記2つとは全く異なる原因かもしれません。が、現時点での可能性としては高くないと思います。

上記2点に焦点を絞って、もう少し調べてみてください。

Qポート8080を使ったWebの閲覧を、会社がブロックする理由

Web サーバをたてており、ポート 8080 を使っています。一般に公開していますが、
特定の会社の方から、見えない、というご指摘を受けました。会社のネットでは、このサーバの8080ポートを見ることができないらしいのです。
このように、クライアント側で 8080 を制限する理由というのは何なのでしょうか? 
よろしくお願いいたします。

Aベストアンサー

「8080 を制限する理由」というよりも「80, 25, 110だけ許可。あとは不許可」の結果なのでしょう。つまりWEBとメールだけで、あとは禁止。Allow/Denyな設定はセキュリティ機器の常道なので、やむを得ないでしょう。

Q「httpステータス404」というエラーが出ます。

「httpステータス404」というエラーが出ます。

java初心者です、宜しくお願い致します。
EclipseでServletを書いてやりましたが、以下のようなエラーが出ます、
原因はなんでしょうか、宜しくお願い致します。
「httpステータス404-/Servlet%E7%B7%B4%E7%BF%92/ ServOutput」

Aベストアンサー

Not Found
という意味です。
そのファイルが無い。あるいはリンクが間違っています。
詳しくは参考URLをみてください。

参考URL:http://ja.wikipedia.org/wiki/HTTP_404


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング