1

次のコマンドでポート8070をブロックしました。

sudo iptables -A INPUT -p tcp --destination-port 8070 -j DROP

これで、Webアプリケーションを埋め込みTomcat 7のポート8070にデプロイし、URLhttp://localhost:8070/appまたはを介してアクセスするhttp://192.168.1.3:8070/appと、常に例外が発生しますConnection timed out。そのポートをブロックしたので、これは通常のことです。

しかしhttp://192.168.1.3:8070/app、ChromeブラウザからURLにアクセスすると、Connection Timed outエラーメッセージが表示されます。それも予想通りです。しかし、Chromeブラウザを介してアクセスしようとすると、正常に応答します。http://localhost:8070/appこれは珍しいことです。

ローカルホストのブラウザからアクセスできるのに、Apache HttpClientライブラリからアクセスできないのはなぜですか?

4

2 に答える 2

0

これはserverfault.comにあるはずであることに注意してください。

iptablesただし、次のようにネットワークインターフェイスを指定してみてください。

iptables -A INPUT -p tcp -s 192.168.1.3 --destination-port 8070 -j DROP
iptables -A INPUT -p tcp -s localhost --destination-port 8070 -j DROP
于 2012-06-05T09:00:33.950 に答える
0

ChromeはIPv6を使用しているため、それを使用してローカルホストを解決できます。他の例ではIPv4を使用しています。では、ホストファイル::1にlocalhostのエントリが含まれているかどうかを確認しますか?

次のコマンドラインフラグを使用して、Chrome用のIPv6を使用せずに試すことができます。

--disable-ipv6

于 2012-06-05T09:01:56.637 に答える