web-dev-qa-db-ja.com

HAProxyでtcp接続のデバッグ情報を確認するにはどうすればよいですか?

現在、本番サーバーで使用するhaproxy構成をリファクタリングして、中央サーバーからのトラフィックを転送しますTCP。目標は、すべてをDockerコンテナーで動作させて、デプロイメントの信頼性を高めることです。

これまでのところすべてが順調に進んでいますが、トラフィックを転送していないように見える「modetcp」を使用した「リッスン」プロキシがいくつかあります。問題はSSL証明書の検証か、セカンダリサーバー自体への転送にあると思います。

問題をデバッグするために、すべてのsyslogデバッグ(「デバッグ」レベル)をオンにし、-dフラグを使用してhaproxyをデバッグモードで実行しました。これにより、すべての着信httpトラフィックの広範なデバッグ情報が提供されますが、TCPについては何も得られないようです。

TCP転送のデバッグ出力がないことは、私が過去に遭遇したことであり、詳細を取得する方法が見つかりませんでした。

TCP接続処理の詳細を確認するために使用できるマジックフラグ、構成、またはコンパイルオプションのセットはありますか?(例:受け入れ、ハンドシェイク、SSL証明書の検証、転送、タイムアウト) 、など)

7
Allen

TCPモードプロキシを使用している場合は、フロントエンドの定義でoption tcplogを指定する必要があります。これにより、tcpモードのロギングが有効になります。これに関する詳細なドキュメントはhaproxyマニュアルにあります。 haproxy 1.5の場合: http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8.2.2

9
arnuschky