
Tomcat をインストールしており、インターネット経由でアクセスしたいと考えています。 経由でローカルにアクセスすることはできますlocalhost:8080/appname
が、 経由でインターネットからはアクセスできません
http://externalip:8080/appname
。
私は、以下に示すように、D-LINK DIR-524 ルーターをポート 8080 をパススルーするように設定しました。また、Windows ファイアウォールとウイルス対策をオフにしましたが、それでも同じ問題が発生します。
何か案は?
答え1
一部のルーターは、セキュリティ機能としてループバック接続を防止します。ほとんどの消費者向けルーターにはループバック接続を禁止する機能はなく、単に機能しないだけです。
これが機能しない理由は、ルータが要求-応答アルゴリズムを実装しているため、応答が実際には別の要求である場合を処理するようにプログラムされていないためです。言い換えると、ルータは要求-要求-応答-応答ではなく、要求-応答のアルゴリズムを実装しています。
同じ結果が得られるかどうかを確認するには、ネットワークの外部からこれを試してみることをお勧めします。
答え2
tomcat/conf/server.xmlを開いてコネクタを検索します。次のようなものになるはずです。
<Connector
port="8080"
protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
/>
アドレスを外部 IP に変更してから、Tomcat サービスを再起動してください。