クライアントの[SYN]パケットを受信した後、私のHTTPプロキシが[SYN、ACK]に応答しないのはなぜですか?

クライアントの[SYN]パケットを受信した後、私のHTTPプロキシが[SYN、ACK]に応答しないのはなぜですか?

Linux(RHEL 5.5)で実行されているhttpプロキシがあり、クライアントから[SYN]パケットを受信した後、断続的に[SYN、ACK]パケットで応答しません。この問題は、エージェントを再起動すると元に戻すことができます。エージェントプロセスに対してgstackを実行しましたが、各スレッドのスタックに問題(停止)が表示されませんでした。この問題が発生している間、「SYN_RECV」状態の接続は100個未満でした。

どんなアイデアがありますか?この問題はどこでデバッグを開始する必要がありますか?

どんなアドバイスも本当にありがとうございます。

答え1

SYN と ACK の不足は、通常、サーバーソフトウェアがaccept接続されていないことを示します。これは多くの理由による可能性があり、ほとんどの場合、リソースの枯渇の可能性が高くなります。サーバープロセスを試してシステムstraceコールにいることを確認しacceptたり、選択のためにファイル記述子のサーバーソケットで操作を実行したりできますselectpoll

答え2

ファイアウォールの問題のようです。 TCP接続が最初のSYN + ACK応答を受信すると、パケットがプロキシサーバーに送信されない可能性が高くなります。

サーバー側とクライアント側を確認してください。

関連情報