0

Apache で Java アプリケーションを実行しています。アプリ サーバー コードが Web サーバーのホスト名を認識できるようにする方法を見つけようとしています。これを行う方法はありますか?

ランニング

InetAddress addr = InetAddress.getLocalHost();
String hostname = addr.getHostName();

また

(HttpServletResponse)response.getHeader("Host");

どちらも予想どおり、アプリ サーバーのホスト名を生成します。

4

2 に答える 2

0

私はこれをいくつかの方法で処理しました:

  1. システム プロパティを使用して、使用する必要があるホスト名をアプリに明示的に伝える
  2. X-originally-For などのヘッダーをリクエストに追加する書き換えルールを Apache に用意する
  3. X-Forwarded-Forリクエストからヘッダーを読み取る

注: #3 は特に好きではありません。XFF ヘッダーはホストからホストへ渡されるため、管理外のホストによって追加されたアドレスを信頼することはできません。

于 2013-07-01T20:43:08.153 に答える