私はTomcat内でJavaサーブレットアプリケーションを実行しています。セキュリティ上の理由から、マシン自体(またはおそらく私自身のPCも)だから私はHttpServletRequestを私が受け取ることなく、リモートアドレスを確認し、これを施行するそれは常に要求がリモートマシンからアクセスするときにrequest.getRemoteAddr()。equals( "127.0.0.1")となるのはなぜですか?
はなぜ、この、私はそれを修正したり、そこにあることができているローカルホストから来ていなくても、127.0.0.1を返します。私の管理コマンドをサーバーからのみ実行する別の方法です。
コードの一部を貼り付けて、このチェックをどこで実行しようとしているか説明してください。 – Scis
リクエストを転送するマシン(たとえば、nginx)上のTomcatの前に何かがありますか? 'X-Forwarded-For'ヘッダーを見てみましょう。 –
@Jonas Adler、ありがとう、私はhomepcとは違ってサーバーから走ったときにx-forwarded-forの値が異なっています(私の家のPCから走ったときの値は私の家のIPアドレスと一致しません)ので、代わりにx-forwarded-forの値をチェックし、サーバーマシンへのアクセスを制限してください。 –