0

Sun Systems Connect への Web サーバー/ゲートウェイとして機能する Tomcat アプリがあります (これは、幸福へのゲートウェイであると思われる Systems Union Accounts へのゲートウェイです)。

マシン名 (またはローカルの場合は localhost) を使用している限り、ブラウザー経由でアプリのログイン ページにアクセスできます。しかし、マシンの IP も Localhost もログイン ページを表示できません。

Sun は、これが Tomcat の「機能」であると教えてくれました。残念ながら、開発中と実稼働中のアカウント マシンは同じ名前 (異なるドメイン) を持っているため、開発ボックスでテストを実行しているのかライブ ボックスでテストを実行しているのかわかりません。ボックス名を変更する以外に、Tomcat に強制的に IP を受け入れさせることはできますか?

4

3 に答える 3

1

Tomcat は IP について何も知りません。IP は単にホスト名として扱われます。構成で IP が許可されていることを確認する必要があります。これを実現するには、いくつかのオプションがあります。

エンジンに defaultHost を追加すると、一致しないホスト名または IP はこの仮想ホストを使用します。例えば、

<Engine name="Standalone" defaultHost="example.com">

さらに制御したい場合は、次のように IP をエイリアスとして追加することもできます。

<Host appBase="webapps" name="example.com">
   <Alias>192.168.1.2</Alias>
</Host>

IP が拒否される理由は他にもたくさんあります。

  1. 証明書は IP アドレスについて何も知らないため、SSL は IP を許可しません。
  2. Apache またはフロントエンド スイッチで仮想ホストを使用する場合、通常は使用するホスト名の決定に基づいており、IP のルーティング方法がわかりません。
  3. HTTP のホスト ヘッダーをチェックするためのセキュリティ フィルタまたはルールがあり、特に不明なホストからのリクエストをドロップする場合があります。

ログを見ると、正確な原因がわかる場合があります。

于 2009-09-21T21:43:20.407 に答える
0

Tomcat を使用してからしばらく経ちましたが、デフォルトでは名前または IP アドレスのいずれかで Web サービスを呼び出すことができると思っていました。これが役立つかどうかはわかりませんが、で IP アドレスの仮想ホストserver.xmlを設定してみてください。たとえば、次のようなスタンザを追加してください。

<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">

ただし、「localhost」をマシンの IP アドレスに置き換えます。

于 2009-09-21T18:24:12.747 に答える
0

http://tomcat.apache.org/tomcat-4.1-doc/config/valve.htmlは、DNS ルックアップを強制する resolveHosts フラグについて説明しています。ログ内の IP アドレス。

于 2009-09-21T18:25:02.963 に答える