0

TLS を使用して Fluentd を実行しているサーバーに (Docker コンテナーで実行されている) fluent-bit クライアントを接続しようとしています。

Fluent-bit クライアント構成:

[SERVICE]
    Flush   2
    Daemon  Off
    Log_level   debug

[INPUT]
    Name    Dummy

[OUTPUT]
    Name    forward
    Host    SERVER_IP
    Port    PORT
    tls     on
    tls.ca_file     /tls/certs/ca.crt.pem
    tls.crt_file    /tls/certs/client.crt.pem
    tls.key_file    /tls/private/client.key.pem
    tls.key_passwd  PASSWORD
    tls.debug  3

Fluentd サーバー構成:

<source>
  @type forward
  @id input_forward
  port PORT
  # tls
  <transport tls>
    version     TLSv1_2
    ca_path  /etc/td-agent/tls/certs/ca.crt.pem
    cert_path  /etc/td-agent/tls/certs/server.crt.pem
    private_key_path  /etc/td-agent/tls/private/server.key.pem
    private_key_passphrase PASSWORD
    ca_private_key_passphrase PASSWORD
  </transport>
</source>

両端でサービスを開始してメッセージを送信しようとすると、Fluentd (サーバー) ログに次のエラーが表示されます。

2020-11-06 11:30:45 -0500 [warn]: #0 [input_forward] unexpected error before accepting TLS connection by OpenSSL error_class=OpenSSL::SSL::SSLError error="SSL_accept returned=1 errno=0 state=error: sslv3 alert bad certificate"

ただし、openssl コマンド ライン ツールを使用して手動でクライアントを Fluentd サーバーに接続しようとすると、接続が機能します。

openssl s_client -connect IPADDR:PORT -CAfile certs/ca.crt.pem -cert certs/client.crt.pem -key private/client.key.pem -tls1_2 -state -quiet

したがって、サーバーはopenssl CLクライアントが実行していることを確認していますが、Dockerコンテナーで実行されている流暢なビットはそうではありません。

どんな提案でも大歓迎です。

4

1 に答える 1