私はサーバー上でApacheサーバーを実行しています。
[root@te-srv2 ~]# ps -ecf|grep httpd
root 698 32047 TS 19 10:45 pts/24 00:00:00 grep httpd
root 32081 1 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
Apache 32083 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
Apache 32084 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
....
しかし、ローカルホストに接続しようとすると「Connection refused」というメッセージが表示されます。
[root@te-srv2 ~]# wget http://127.0.0.1
--2014-02-24 10:46:16-- http://127.0.0.1/
Connecting to 127.0.0.1:80... failed: Connection refused.
ローカルIPアドレスに接続しようとしたときにも同じことが起こります。
[root@te-srv2 ~]# wget http://132.70.6.157
--2014-02-24 10:46:40-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: Connection refused.
一方、同じネットワーク内の別のコンピュータから同じ操作を試みると、「No route to Host」というエラーが表示されます。
[erelsgl@erel-biu ~]$ wget http://132.70.6.157
--2014-02-24 10:49:11-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: No route to Host.
これらのエラーが発生するのはなぜですか。また、同じコンピュータとネットワーク内の他のコンピュータの両方からhttpサーバーに接続できるようにするにはどうすればよいですか。
更新:コメントと回答に基づいて、ここでいくつかのより多くの情報があります:
[root@te-srv2 ~]# traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 Hops max, 60 byte packets
1 te-srv2 (132.70.6.157) 0.082 ms 0.007 ms 0.005 ms
[erelsgl@erel-biu ~]$ traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 Hops max, 60 byte packets
1 te-srv2 (132.70.6.157) 0.446 ms !X 0.431 ms !X 0.420 ms !X
[root@te-srv2 ~]# netstat -lnp|grep http
tcp 0 0 :::443 :::* LISTEN 5756/httpd
netstat -lnp
の出力を表示すると、どのプロセスがサーバー上のどのポートを実際にリッスンしているのか、およびそれらがどのIPアドレスにバインドされているのかがわかります。
2台目のコンピュータに関しては、そのネットワーク接続が壊れているように見えます。 netstat -rn
はそこにある問題についての洞察を与えます。
より良いアドバイスを与えるためには、両方のコンピュータの一般的なネットワーク設定とIP設定に関する詳細が必要です。
編集する
Apacheの設定を変更して、SSLサーバではなくHTTPサーバになるようにする必要があります。ほとんどの場合、設定ファイルは/ etc/Apache2の下にあります。
IP構成およびネットワーク構成情報は、他の問題を分析するために依然として必要です。 traceroute情報は何も明らかにしませんでした。
「接続が拒否されました」とは、ターゲットマシンがアクティブに接続を拒否したことを意味します。コンテキストとしてポート80を使用している場合は、次のいずれかが原因と考えられます。
Apacheとiptablesの設定を確認してください。
「No route to Host」はネットワークの問題を意味します。not対象マシンからの返信です。
この記事では、Public Cloudコンピュートノードでnodejsを使用して簡単なhttpページを設定しようとしたときに直面した問題について説明しました。
このコマンドは私のためにトリックをしました:
iptables -F
このコマンドは、Linuxシステム内に設定されているファイアウォールルールをフラッシュします。
注意事項:Public Cloud VCNの一部である分散ファイアウォールを使用しているので、私は実際にはOSのファイアウォールを使用しませんでした。外部ファイアウォールがない場合は、iptablesに必ずファイアウォールルールを追加してください。
https://networkengineering.stackexchange.com/questions/33397/debugging-no-route-to-Host-over-ethernet からRon Maupinの回答を引用してください:
ICMPメッセージ、「no route to Host」は、ARPが宛先ホストのレイヤ2アドレスを見つけられないことを意味します。通常、これはそのIPアドレスを持つホストがオンラインまたは応答していないことを意味します。