2

顧客サイトでアプリケーションのファイアウォールの問題をどのようにデバッグしますか? 現在、Apache と Tomcat (アプリケーションの一部) がエラーをスローし、ファイアウォールがマシン上のポートの受け入れまたはバインドの試みをブロックしているように聞こえるという問題があります。

私たちにとっての問題は、ファイアウォールが企業レベルで管理されているため、ファイアウォールが何をしているかを確認できないことです。ブロックされているのか、それともアプリケーション固有の問題なのかを判断する方法はありますか? これは Java アプリケーションです。

4

5 に答える 5

2

スーパーユーザーまたはサーバーフォールトに属する質問をここで行うと、おそらく多少の不満を感じるでしょう。

簡単な答え:別のサーバーと通信しようとしているサーバーにログインし、telnetを使用してリクエストをシミュレートします。

telnet OtherServer PortNumber

「接続が拒否されました」というメッセージが表示された場合は、他のサービスが存在しないか、ファイアウォールによってサービスが非表示になっています。何も起こらない場合は、ファイアウォールにぶつかっている可能性があります。あなたがつながりを得るならば(その後何か面白いことが起こっても気にしないでください)、あなたは通り抜けています。


編集:はい、私はこれが非常に単純であることを知っています。巧妙にサディスティックまたは非常に無能なファイアウォール設定で、サーバーにリクエストを受信させても、そのリクエストに応答できなくなる可能性があります。しかし、私はそのようなシナリオに遭遇したことはありません。より一般的なのは、単純な合否の場合です。

より適切なアドバイスが必要な場合は、サーバーからエラーメッセージやスタックトレースをコピーしてください。

于 2009-11-20T15:23:17.237 に答える
2

Apache/Tomcat サーバー上で実行されている Apache または Tomcat から Apache/Tomcat サーバー上のポートへのバインドに問題がある場合は、他の 2 つの問題のいずれかである可能性が高くなります。

  • ポートはすでに別のアプリケーションによってバインドされています。私がチェックするために使用するいくつかのツールは
  • lsof -i :port
  • netstat -ant | grep port.

  • ポート番号が 1025 未満で、Apache/Tomcat を実行しているプロセスが root ではありません。

于 2009-11-20T15:33:41.320 に答える
1

traceroute (Windows 用の tracert) は、どこに行くのかを確認するのに便利です。

UPnP ツールも、途中でファイアウォールを確認できると便利です。

于 2009-11-20T16:23:48.850 に答える
0

ファイアウォールが「企業レベル」で管理されている場合、それはホストベースのファイアウォール(ホストベースは「実行しているコンピューター上」にある)のようには聞こえません。ホストベースのファイアウォールでない場合は、バインドの試行をブロックする方法はなく、他の場所を探すことができます。

それがホストベースの場合...まあ、それは攻撃的なホストベースのファイアウォールです。ポートにバインドするための管理者またはroot権限がない可能性が高くなります。

ポートにバインドできても通信できない場合は、標準のファイアウォールテストを開始する必要があります。「インターネットから静的HTMLページにアクセスできますか?イントラネットからですか?ローカルホストからですか?」

于 2009-11-20T15:23:47.173 に答える
0

これは私の経験ですが、HTTP(S)を介したファイアウォールの問題の明らかな兆候は、要求がしばらくハングし、接続タイムアウトフレーバーの例外でタイムアウトすることです。ファイアウォールによっては、接続がすぐに拒否される場合もあります。したがって、これはファイアウォールの問題をデバッグするために私たちが頼らなければならなかったものです。解決策は、常にネットワーク管理者(私たちはそのチームと良好な関係を築いています)に行き、特定のIPアドレスを入れるように依頼することです。

于 2009-11-20T15:25:50.710 に答える